有没有一种方法可以从微调器上的 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
}
});
我知道我可以只缓存以前的值,但这似乎是一个应该有方法的常见操作。
最佳答案
使用变量来跟踪上一个项目。它可能在 Activity 的成员处。
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
}
});
关于java - 从 Spinner OnItemSelectedListener 事件中获取先前选择的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31497712/