有没有办法可以在微调器上从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
}
});
我知道我可以只缓存之前的值,但似乎应该有一个方法的常见操作。
答案 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
请注意,如果您选择了已选择的项目,则不会发生任何事情