【问题标题】:Spinner get position and do different action for each selectionSpinner 获取位置并对每个选择执行不同的操作
【发布时间】:2017-05-29 16:44:52
【问题描述】:

我正在尝试使用微调器,保存每个选择的位置并依赖于此,出现每个位置具有不同选择的另一个微调器.. 我在the spinner docs 的帮助下制作了第一个微调器,但是我无法为每个选择做不同的事情。有没有人可以帮助我?

谢谢!

【问题讨论】:

  • 附上你想为每个选择显示的代码和数据

标签: android spinner selection


【解决方案1】:

您可以在onItemSelected() 方法中使用switch 语句:

public void onItemSelected(AdapterView<?> parent, View view,
            int pos, long id) {
        // An item was selected. You can retrieve the selected item using
        // parent.getItemAtPosition(pos)

        switch (pos) {
            case 0:
                //do action for first selection
                break;
            case 1:
                //do action for second selection
                break;
            ...

        }
    }

【讨论】:

  • 这比我想象的要容易得多...谢谢,我被卡住了!!
【解决方案2】:

暗示太简单了: 试试微调器 ItemSelectedListener。

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
if(position==0){}//do the function you want to perform
else if(position==1){}//And so on
        // your code here
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) {
        // your code here
    }

});

【讨论】:

  • 我不会使用if,因为它的计算成本更高,它必须进行更多检查,具体取决于微调器中的元素,请改用switch
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-27
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多