Android的微调:获取所选择的项目更改事件 [英] Android Spinner: Get the selected item change event
问题描述
您如何设置的事件侦听器的微调时,所选项目的变化?
基本上,我试图做的是类似这样的:
spinner1.onSelectionChange = handleSelectionChange;
无效handleSelectionChange(对象发件人){
//处理事件
}
有些previous答案是不正确的。他们的工作对其他部件和看法,但对于文件<一个href="http://developer.android.com/reference/android/widget/Spinner.html#setOnItemClickListener%28android.widget.AdapterView.OnItemClickListener%29">Spinner小部件明确规定:
一个微调不支持的项目点击 事件。调用此方法将引发 一个例外。
更好地利用<一href="http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html">OnItemSelectedListener()而不是:
spinner.setOnItemSelectedListener(新OnItemSelectedListener(){
@覆盖
公共无效onItemSelected(适配器视图&LT;&GT; parentView,查看selectedItemView,INT位置,长的id){
//你的code在这里
}
@覆盖
公共无效onNothingSelected(适配器视图&LT;&GT; parentView){
//你的code在这里
}
});
这对我的作品。
请注意,还调用onItemSelected方法时的观点正在构建,这样你就可以考虑把它放在的onCreate()
方法调用。
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
}
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.
Better use OnItemSelectedListener() instead:
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
}
});
This works for me.
Note that onItemSelected method is also invoked when the view is being build, so you can consider putting it inside onCreate()
method call.
这篇关于Android的微调:获取所选择的项目更改事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!