我正在创建一个包含两个微调器的 android Activity 。我了解如何使用 onItemSelectedListener
回调函数为一个微调器实现 onItemSelected
:
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
Spinner spinner = (Spinner) findViewById(R.id.spinnerOneOfTwo);
spinner.setOnItemSelectedListener(this);
//do things with selection...
}
但是,如果我有多个微调器,该怎么办?在我看来,我需要一个单独的函数,但由于两个微调器都设置为回调
onItemSelected()
,我不能采用这种方法。有没有办法判断哪个微调器正在调用 onItemSelected()
函数?也许是微调器发出调用的参数键之一?然后我可以将它的 ID 设置为我的微调变量 ID 的参数吗?我知道有一种方法(我绝对不是唯一一个在一项 Activity 中放置多个微调器的人),非常感谢任何提示!
最佳答案
让 2 个 Spinner 实现相同的 OnItemSelectedListener
并尝试以下操作:
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
switch (parent.getId()) {
case R.id.your_spinner_1_id:
// do stuffs with you spinner 1
break;
case R.id.your_spinner_2_id:
// do stuffs with you spinner 2
break;
default:
break;
}
}
希望这可以帮助。
关于android - 创建多个 onItemSelectedListener,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18710666/