为什么OnItemSelectedListener不按视图ID工作来查找所选的微调器?

时间:2012-05-06 23:52:51

标签: android view spinner

我有OnItemSelectedListener类,问题是现在当我从spinner1中选择项目时,它不会显示它应该显示的烤面包机文本。 Toast文本只是为了查看监听器是否正常工作而不是。我有两个微调器,我试图从两个微调器中获取单个变量的选定项目。这里有任何帮助,我已经坚持了几个小时。

我在buttonlisteners上使用了这种切换技术并且它工作正常,但它们在我的主类,活动类,我不确定它是否依赖于它以及如果它确实如何解决

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

    View v = parent.getSelectedView();
    switch (view.getId()) {

    case R.id.spinner1:
        Toast.makeText( parent.getContext(),
                "Selected item is " + parent.getItemAtPosition(pos).toString(),
                Toast.LENGTH_LONG).show();
        break;
    case R.id.spinner2:
        //Code here
        break;
    default:
        Toast.makeText(parent.getContext(), view.toString(), Toast.LENGTH_LONG).show();
        break;
    }
}

1 个答案:

答案 0 :(得分:9)

你似乎认为&#34;父母&#34;是包含Spinner的活动,&#34; view&#34;是旋转器。他们实际上并非如此。 &#34;父&#34;是ListView或SpinnerView。 &#34;视图&#34;是单个列表项。

所以,你想要使用

switch (parent.getId())

检查包含刚刚选中的项目的微调器的ID。