关于Android Spinner setSelection 和 onItemSelected事件的触发顺序

来源:互联网 发布:软件商店开发 编辑:程序博客网 时间:2024/05/17 01:51

在Android开发中。会遇到想setSelection但是不想触发onItemSelected事件这种情况。

一般想法,是先移除监听器,等修改完成之后,再添加监听器。

但是,事实上,setSelection(int)这个方法最终是会post到主线程的消息队列里的,因此,真正的改变值发生在我们添加监听器之后(如果放入消息队列,执行的时候,当前函数早就运行完了)。这时候要使用setSelection(int, boolean)方法,这个方法会立即修改UI。


重点是setSelection(int)与setSelection(int, boolean)的区别。


参考:

http://bbs.csdn.net/topics/390515347?page=1

1 0
原创粉丝点击