在Android開發中。會遇到想setSelection但是不想觸發onItemSelected事件這種情況。
一般想法,是先移除監聽器,等修改完成之後,再添加監聽器。
但是,事實上,setSelection(int)這個方法最終是會post到主線程的消息隊列裏的,因此,真正的改變值發生在我們添加監聽器之後(如果放入消息隊列,執行的時候,當前函數早就運行完了)。這時候要使用setSelection(int, boolean)方法,這個方法會立即修改UI。
重點是setSelection(int)與setSelection(int, boolean)的區別。
參考:
http://bbs.csdn.net/topics/390515347?page=1