EventBus简单使用

举报
yechaoa 发表于 2022/05/31 00:08:23 2022/05/31
【摘要】 github:https://github.com/greenrobot/EventBus/ compile 'org.greenrobot:eventbus:3.0.0' EventBus使用起来可以说是非常简单,而且是轻量级的,目前github的start已经15k+了 根据官网说明,只需要三步即可完成事件通知 1...


github:https://github.com/greenrobot/EventBus/

compile 'org.greenrobot:eventbus:3.0.0'
 

EventBus使用起来可以说是非常简单,而且是轻量级的,目前github的start已经15k+了

根据官网说明,只需要三步即可完成事件通知

1.注册、移除注册

建议放在onCreate和onDestory中,因为跳转的话会走onStop,再通知的话会出现接收不到消息的情况,虽然可以用postSticky,但是能避免的为什么不避免呢


  
  1. @Override
  2. public void onCreate() {
  3. super.onStart();
  4. EventBus.getDefault().register(this);
  5. }
  6. @Override
  7. public void onDestory() {
  8. super.onStop();
  9. EventBus.getDefault().unregister(this);
  10. }

只需要一行代码,非常简便

EventBus.getDefault().post("SecondActivity发起的通知");
 



  
  1. @Subscribe
  2. public void onEventMainThread(String event) {
  3. mTextView.setText(event);
  4. Toast.makeText(this, event, Toast.LENGTH_SHORT).show();
  5. }

重写的方法要加上@Subscribe才行


也可以这样写

@Subscribe(threadMode = ThreadMode.MAIN)
 


ThreadMode有四种


  
  1. 1 ThreadMode: POSTING
  2. 2 ThreadMode: MAIN
  3. 3 ThreadMode: BACKGROUND
  4. 4 ThreadMode: ASYNC


文章来源: blog.csdn.net,作者:yechaoa,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/yechaoa/article/details/77532894

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。