在Android开发中。会遇到想setSelection但是不想触发onItemSelected事件这种情况。
一般想法,是先移除监听器,等修改完成之后,再添加监听器。
但是,事实上,setSelection(int)这个方法最终是会post到主线程的消息队列里的,因此,真正的改变值发生在我们添加监听器之后(如果放入消息队列,执行的时候,当前函数早就运行完了)。这时候要使用setSelection(int, boolean)方法,这个方法会立即修改UI。
重点是setSelection(int)与setSelection(int, boolean)的区别。
参考:
http://bbs.csdn.net/topics/390515347?page=1