如何在 onItemSelected 方法上获取微调器的 ID?

How to get the spinner's id on the onItemSelected method?

我的问题是:我想要 3 个不同的微调器,它们显示相同类型的对象,并且我希望能够识别我从哪个微调器获取数据,例如: 在微调器 1 中,用户选择了 "potato" 在微调器 2 中,用户选择了 "tomato" 在微调器 3 中,用户选择了 "fries"

但我只能得到 "the user selected [...]",因为我不知道如何判断我从哪个微调器得到数据。

我想知道是否有办法在 onItemSelected(AdapterView parent, View view, int position, long id) 方法上做到这一点?

View 视图很可能是做出选择的微调器。如果您在程序开始时将每个微调器的 .tag = 1 设置为不同的数字,那么您将能够查看传递给 onItemSelected 方法的标记值:

if (view.tag == 1)...

可能您已经为所有微调器设置了一个公共监听器,因此您可以通过检查 parent.getId():

来区分选择了哪个微调器
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    switch (parent.getId()){
        case R.id.spinner1:
            //your code here
            break;
        case R.id.spinner2:
            //your code here
            break;
        case R.id.spinner3:
            //your code here
            break;
    }
}