我的问题是:我想拥有3个不同的微调器,它们显示相同类型的对象,并且我希望能够识别从哪个微调器中获取数据,例如: 在微调器1中,用户选择了“马铃薯” 在微调框2中,用户选择了“西红柿” 在微调框3中,用户选择了“薯条”
但是我只能得到“用户选择的[...]”,因为我不知道如何分辨从哪个微调器获得了数据。
我想知道是否有办法在onItemSelected(AdapterView parent,View view,int position,long id)方法上做到这一点?
答案 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)