zoukankan      html  css  js  c++  java
  • EventBus使用小记

    自从使用了EventBus,代码干净了好多。

    从此你不用startActivityForResult了,从此你不用再写注册BroadcastReceiver了,从此你不用再写一些回调了。

    只需要在需要监听的页面,注册EventBus,然后等事件发过来,做相应的改变就可以了。

    一般在onCreate,onDestory回调做注册与反注册

    发送事件写法

    EventBus.getDefault().post(T event);//当前页面存在,就会调用相应onEvent,当前页面不在,就不会调用

    EventBus.getDefault().postSticky(T event);//当前页面在,会调用相应onEvent,当前页面不在,等再进入这个页面时,也会调用onEvent

    监听事件写法:

    onEvent(T event): 你的Event从什么线程发过来,这个方法就会在相同的线程执行
    onEventMainThread(T event): 不管你的Event从哪个线程发过来,这个方法只会在主线程运行,所以可以做和View更新相关的操作
    onEventAsync(T event): 这个方法会运行在一条新的线程里,不是在主线程,也不是在你Event发过来所在的
    onEventBackgroundThread(T event): 如果你发Event所在的线程不是ui线程,那么这个方法会运行在Event所在线程。如果你在ui线程发Event过来,这个方法会运行在一个EventBus管理的线程里。这条线程会在后台同步管理着多个Events,也即事件进入后会排除

  • 相关阅读:
    laravel md5+salt 密码
    sql语句 当前时间查找重复 时间戳转换
    Supesite 参数说明
    ajax
    PDO操作
    laravel paginate动态分页
    PHP iconv()函数转字符编码的问题(转)
    计算几何基础模板(2014.10.6一直沿用)
    hdu 4893
    2014 ACM/ICPC 鞍山赛区网络赛(清华命题)
  • 原文地址:https://www.cnblogs.com/baron89/p/4469117.html
Copyright © 2011-2022 走看看