当所选项目发生变化时,如何为微调器设置事件侦听器?
基本上我想做的是类似这样的事情:
spinner1.onSelectionChange = handleSelectionChange;
void handleSelectionChange(Object sender){
//handle event
}
当所选项目发生变化时,如何为微调器设置事件侦听器?
基本上我想做的是类似这样的事情:
spinner1.onSelectionChange = handleSelectionChange;
void handleSelectionChange(Object sender){
//handle event
}
当前回答
我认为最好的方法是让flagitemselected = 0;在onCreate()。在itemselected event上增加标志,即flagitemselected++;然后检查
if(flagitemselected!=1)
{
// do your work here
}
我想这会有帮助。
其他回答
您可以实现AdapterView。Activity中的OnItemSelectedListener类。
然后在onCreate()中使用下面的行
Spinner spin = (Spinner) findViewById(R.id.spinner);
spin.setOnItemSelectedListener(this);
然后重写这两个方法:
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
selection.setText(items[position]);
}
public void onNothingSelected(AdapterView<?> parent) {
selection.setText("");
}
spinner1.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
//add some code here
}
);
spinner-widget的文档说
旋转器不支持项目单击事件。
您应该使用setOnItemSelectedListener来处理您的问题。
我认为最好的方法是让flagitemselected = 0;在onCreate()。在itemselected event上增加标志,即flagitemselected++;然后检查
if(flagitemselected!=1)
{
// do your work here
}
我想这会有帮助。
默认情况下,您将获得旋转器数组的第一项
value = spinner.getSelectedItem().toString();
无论何时你在旋转器中选择值,它都会给你选择的值
如果你想要选定项目的位置,然后这样做
pos = spinner.getSelectedItemPosition();
以上两个答案均为不应用监听器的情况