首先说明:
这个框架的学习最好看官方的文档 (目前的一些文章表述的不全或者不适合新手)
文档地址 http://greenrobot.org/eventbus/documentation/how-to-get-started/
github 地址 https://github.com/greenrobot/EventBus
EventBus简介:
EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。
官方有一个bug的解决办法:
在跳转的页面写点击事件会接收不到消息的解决办法
not
// @Override
// public void onStop() {
// EventBus.getDefault().unregister(this);
// super.onStop();
// }
like this
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
同时onstart()改成
@Override public void onStart() { super.onStart(); EventBus.getDefault().unregister(this); EventBus.getDefault().register(this); }
另外一种写法:
这种事在onCreate()方法中注册eventBus,同时在ondestroy中销毁eventbus
这种写法的的文章地址: http://blog.youkuaiyun.com/harvic880925/article/details/40660137
http://blog.youkuaiyun.com/harvic880925/article/details/40787203
参考demo地址 :
https://yunpan.cn/cSFKFfXvRWXmW 访问密码 e286
https://yunpan.cn/cSFKmKjN4aDEr 访问密码 8a14(第二次修改)