OnItemSelectedListener

OnItemSelectedListener

我正在创建一个包含两个微调器的 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/

10-10 03:36