EventBus的使用

来源:互联网 发布:淘宝如何比价 编辑:程序博客网 时间:2024/06/05 18:51

线程间通讯的方式众多,handler,post等,这篇重点讲一个比较好使的三方控件eventbus,当然,在rxjava出来之后,eventbus,handler等线程间通讯工具也会逐渐被取代

  • 依赖
  • compile 'de.greenrobot:eventbus:2.4.0'
  • 注册,在需要接受消息的fragment或activity的oncreat()方法中注册
    EventBus.getDefault().register(this);
    注销,在ondestroy方法中
    EventBus.getDefault().unregister(this);

同时,在该接受消息的方法中实现OnEventMainThread方法

/** * 用来接收消息*/public void onEventMainThread(EventUtil event) {   System.out.println("接收到消息了====" + mExittext);    }

EventUtil是一个工具类,可以定义要传递的消息类型

public class EventUtil {   private String msg;    public EventUtil(){}    public EventUtil(String msg){        this.msg=msg;    }    public String getMsg(){        return this.msg;    }}

消息发送

EventBus.getDefault().post(new EventUtil(keyword));