关于Android Spinner setSelection 和 onItemSelected事件的触发顺序
2016-11-30 12:07
495 查看
在Android开发中。会遇到想setSelection但是不想触发onItemSelected事件这种情况。
一般想法,是先移除监听器,等修改完成之后,再添加监听器。
但是,事实上,setSelection(int)这个方法最终是会post到主线程的消息队列里的,因此,真正的改变值发生在我们添加监听器之后(如果放入消息队列,执行的时候,当前函数早就运行完了)。这时候要使用setSelection(int, boolean)方法,这个方法会立即修改UI。
重点是setSelection(int)与setSelection(int, boolean)的区别。
参考:
http://bbs.csdn.net/topics/390515347?page=1
一般想法,是先移除监听器,等修改完成之后,再添加监听器。
但是,事实上,setSelection(int)这个方法最终是会post到主线程的消息队列里的,因此,真正的改变值发生在我们添加监听器之后(如果放入消息队列,执行的时候,当前函数早就运行完了)。这时候要使用setSelection(int, boolean)方法,这个方法会立即修改UI。
重点是setSelection(int)与setSelection(int, boolean)的区别。
参考:
http://bbs.csdn.net/topics/390515347?page=1
相关文章推荐
- 关于android BaseAdapter 中如何灵活控制listview 是否显示,是否有事件触发
- Android 关于 OnScrollListener 事件顺序次数的简要分析
- 2015-06-02 js中的关于的移入移出触发事件的顺序
- 关于touch事件的使用 (touchStart touchMove touchEnd(不触发 android 4.0以上)) 滑动的使用
- 使用反射让Spinner选择同一选项时触发onItemSelected事件
- android 焦点事件 触发顺序
- Android中Spinner控件关于二次点击同一item无响应事件解析及处理方法
- android onClick,onLongClick,onTouch事件机制和触发顺序
- android Spinner setSelection无效 总显示第一项
- Android 关于 OnScrollListener 事件顺序次数的简要分析
- 关于JS 事件冒泡和onclick,click,on()事件触发顺序
- Android 关于setOnclickListener 对事件分发的影响
- android 自定义View事件触发顺序
- Android 关于 OnScrollListener 事件顺序次数的简要分析
- Android 关于 OnScrollListener 事件顺序次数的简要分析
- 请记住: i AM SoLiD. (关于View的事件触发顺序)
- Android 手势事件触发及顺序
- 判断是否首次触发pageLoad 与 PageRequestManager.getInstance()对象的几个事件触发顺序
- 关于.net winform中,几个同一界面上的控件,Dock顺序和Set to back/front的关系
- 关于触发asp.net Global.asax Session_End事件的经验