从以下选项中获取--Spinner OnItemSelectedListener事件

时间:2015-07-19 03:24:11

标签: java android

有没有办法可以在微调器上从ItemSelected事件中获取先前选择的项目?我的第一个想法是响应OnItemClickedEvent,但是旋转器不支持该方法。

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
        {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
                {

                MyItem current = (MyItem) parent.getItemAtPosition(position);
                //MyItem previous = (MyItem) parent.getPrevious ... how
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent)
                {
                //do nothing
                }
            });

我知道我可以只缓存之前的值,但似乎应该有一个方法的常见操作。

2 个答案:

答案 0 :(得分:1)

使用变量跟踪上一个项目。它很可能是活动的成员。

    MyItem previous, current;
    ...

    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
    {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
            {
                previous = current
                current = (MyItem) parent.getItemAtPosition(position);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent)
            {
            //do nothing
            }
        });

答案 1 :(得分:0)

FALSE
  

请注意,如果您选择了已选择的项目,则不会发生任何事情

相关问题