得到一个微调器的id

时间:2015-10-13 19:21:57

标签: android

我在Activity中有2个微调器,它们从相同的资源(xml字符串数组)中获取数据。 代码是这样的:

Spinner spinnerFrom = (Spinner) findViewById(R.id.spinner_from_to);
Spinner spinnerTo = (Spinner) findViewById(R.id.spinner_from_to);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(),
                R.array.length_from_to, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerFrom.setAdapter(adapter);
spinnerTo.setAdapter(adapter);

但现在在

public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) {
}

方法,当我测试它时,我从微调器获得正确的值,例如敬酒,但无法知道,这两个微调器的价值来自于什么。我尝试了不同的父方法,但没有帮助。

请你给我一个提示吗?

非常感谢前进。

马丁

3 个答案:

答案 0 :(得分:3)

您可以为xml中的每个微调器添加android:tag值。然后在view.getTag()中使用onItemSelected()获取标记,以便您查看其中的标记。

答案 1 :(得分:1)

您只需使用view.getId()

public void onItemSelected(AdapterView<?> parent, View view, 
    int pos, long id) {

    int id = parent.getId();
}

关于身份证,你已经决定了每个项目应该做什么。

答案 2 :(得分:1)

spinners R.id.spinner_from_to‍‍似乎有相同的ID。 无论如何......为了获得微调器的id,你可以使用

public void onItemSelected(AdapterView<?> parent, View view, 
int pos, long id) {

    int id = parent.getId();
}