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

问题描述 投票:-2回答:3

我的问题是:我希望有3个不同的微调器,显示相同类型的对象,我希望能够识别从哪个微调器获取数据,例如:在微调器1中,用户选择“马铃薯”在微调器2,用户选择“番茄”在微调器3中,用户选择“薯条”

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

我想知道是否有办法在onItemSelected(AdapterView父视图,视图视图,int位置,长id)方法上执行此操作?

java android spinner
3个回答
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;
    }
}

0
投票

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

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

0
投票

对于检查微调器的位置以及从哪个微调器获得它的Easy Just Put Log in the spinner 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)
© www.soinside.com 2019 - 2024. All rights reserved.