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

use*_*733 2 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

mjf*_*tes 9

您似乎认为"父"是包含Spinner的活动,而"view"是Spinner.他们实际上不是."parent"是ListView或SpinnerView."view"是单个列表项.

所以,你想要使用

switch (parent.getId())
Run Code Online (Sandbox Code Playgroud)

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