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

时间:2019-04-22 15:28:21

标签: java android spinner

我的问题是:我想拥有3个不同的微调器,它们显示相同类型的对象,并且我希望能够识别从哪个微调器中获取数据,例如: 在微调器1中,用户选择了“马铃薯” 在微调框2中,用户选择了“西红柿” 在微调框3中,用户选择了“薯条”

但是我只能得到“用户选择的[...]”,因为我不知道如何分辨从哪个微调器获得了数据。

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

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

可能您已为所有微调器设置了公共侦听器,因此您可以通过选中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;
    }
}

答案 2 :(得分:0)

要检查微调器的位置以及从哪个微调器中获得其Easy Just Put,只需将其登录到该微调器onItemSelected即可:

Log.e("Position of Spinner", country[position] //Just pass the array name of spinner.)

Log.e("Position of Spinner",spinner1.getSelectedItemPosition());

获取ID:

Log.e("Position of Spinner", country[position].id.toString)