问题描述: 在使用 ArrayAdapter 和 Spinner 组件时,发现 OnItemSelectedListener 事件监听器不起作用。
解决方法:
Spinner spinner = findViewById(R.id.spinner);
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, data);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Spinner spinner = findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
String selectedItem = parent.getItemAtPosition(position).toString();
// 处理选中项的逻辑
}
@Override
public void onNothingSelected(AdapterView> parent) {
// 处理未选中项的逻辑
}
});
检查事件监听器中的代码逻辑是否正确。确保在选中项时执行了正确的逻辑。如果在事件监听器中没有执行任何操作,可能导致 OnItemSelectedListener 不起作用。
如果以上方法仍然无法解决问题,可以尝试使用其他方式实现 Spinner 组件的选中项监听,例如使用 setSelection() 方法监听选中项的改变。
希望以上解决方法能帮助到您解决 ArrayAdapter 的 OnItemSelectedListener 不起作用的问题。