在Android Spinner中,我可以将选择设置为代码中的特定项目(使用setSelection(int))。这将最终调用OnItemSelectedListener,这很好。
但是当用户从屏幕上选择一个项目时,通过单击微调器和项目,我想将其作为一个不同的事件处理,因为我的应用程序中的逻辑应该做不同的事情。
如何实现这一目标? 总而言之,My Spinner应该这样做
If Value set from the code {
//do this..
}
else if user select a value {
//do that..
}
答案 0 :(得分:1)
扩展Spinner
并覆盖setSelection(int)
。在这种情况下插入您想要发生的功能,然后调用super.setSelection(int)
以保持Spinner正常工作。
答案 1 :(得分:1)
我最终使用全局变量来指示我正在调用onItemSelected方法。看起来解决了我的目的。但欢迎任何更好的解决方案。