Android Spinner:获取选中的项目改变事件 [英] Android Spinner: Get the selected item change event
问题描述
How can you set the event listener for a Spinner when the selected item changes?
How can you set the event listener for a Spinner when the selected item changes?
基本上我想做的事情与此类似:
Basically what I am trying to do is something similar to this:
spinner1.onSelectionChange = handleSelectionChange;
void handleSelectionChange(Object sender){
//handle event
}
推荐答案
之前的一些答案不正确.它们适用于其他小部件和视图,但 Spinner 小部件 明确指出:
Some of the previous answers are not correct. They work for other widgets and views, but the documentation for the Spinner widget clearly states:
微调器不支持项目点击事件.调用这个方法会引发一个例外.
A spinner does not support item click events. Calling this method will raise an exception.
最好使用 OnItemSelectedListener() 代替:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// your code here
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
这对我有用.
注意 onItemSelected 方法在构建视图时也会被调用,所以你可以考虑把它放在 onCreate()
方法调用中.
Note that onItemSelected method is also invoked when the view is being build, so you can consider putting it inside onCreate()
method call.
这篇关于Android Spinner:获取选中的项目改变事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!