2

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

我已经在按钮监听器上使用了这种切换技术并且效果很好,但是它们在我的主类活动类中,我不确定它是否依赖于它以及如果它依赖于如何解决它

@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;
    }
}
4

1 回答 1

9

您似乎认为“父”是包含 Spinner 的活动,而“视图”是 Spinner。他们实际上不是。“父”是 ListView 或 SpinnerView。“视图”是单个列表项。

所以,你想使用

switch (parent.getId())

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

于 2012-05-06T23:58:52.380 回答