Android Spinner 设置setOnItemSelectedListener时,竟会默认触发一次事件!
时间: 2024-03-23 15:37:04 浏览: 109
Android带设置默认值的Spinner
是的,Android Spinner 在设置 setOnItemSelectedListener 时会默认触发一次事件。这是因为 Spinner 在初始化时会自动选中第一个选项,从而触发一次事件。如果需要避免这种情况,可以在设置完监听器后手动调用一次 onItemSelected 方法来处理选中事件。例如:
```
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// 处理选中事件
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// 处理未选中事件
}
});
// 手动调用一次 onItemSelected 方法,避免默认触发一次事件
spinner.post(new Runnable() {
@Override
public void run() {
spinner.setSelection(0, false);
spinner.performItemClick(spinner.getSelectedView(), 0, 0);
}
});
```
阅读全文