OnItemSelectedListener
场景:Spinner下OnItemSelectedListener执行顺序
求助Spinner下OnItemSelectedListener执行顺序?
onItemSelected中执行是当spinner选择变化时,edittext清空
oncreate中执行顺序是(我认为是)
test_Spinner.setSelection(2);...................test_EditText.setText("");.................test_EditText.setText("写入测试");
但结果是清空的
debug后发现,执行顺序为:
test_Spinner.setSelection(2);.................test_EditText.setText("写入测试");...................test_EditText.setText("");
我在我的其他项目遇到了这个问题,现在没法用spinner变化后控制其他控件,现求助
------解决方案--------------------
setSelection我记得有个重载方法的
setSelection(int, boolean)
你试试用setSelection(2, true)或者setSelection(2, false);看看有用没
求助Spinner下OnItemSelectedListener执行顺序?
package com.rivershuang.sipnnertest;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
public class MainActivity extends Activity {
private Spinner test_Spinner = null;
private EditText test_EditText = null;
private String[] test_str = {"A", "B", "C"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
test_Spinner = (Spinner) findViewById(R.id.test_spinner);
test_EditText = (EditText) findViewById(R.id.test_edittext);
ArrayAdapter<String> test_Adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,
test_str);
test_Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
test_Spinner.setAdapter(test_Adapter);
test_Spinner.setSelection(2);
test_EditText.setText("写入测试");
test_Spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
test_EditText.setText("");
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
test_Spinner.setSelection(2);
test_EditText.setText("写入测试");
onItemSelected中执行是当spinner选择变化时,edittext清空
oncreate中执行顺序是(我认为是)
test_Spinner.setSelection(2);...................test_EditText.setText("");.................test_EditText.setText("写入测试");
但结果是清空的
debug后发现,执行顺序为:
test_Spinner.setSelection(2);.................test_EditText.setText("写入测试");...................test_EditText.setText("");
我在我的其他项目遇到了这个问题,现在没法用spinner变化后控制其他控件,现求助
android
------解决方案--------------------
setSelection我记得有个重载方法的
setSelection(int, boolean)
你试试用setSelection(2, true)或者setSelection(2, false);看看有用没