EventBus3.0 使用

来源:互联网 发布:淘宝店铺找谁可以装修 编辑:程序博客网 时间:2024/05/22 06:44

1.引入插件:
在build.gradle文件的dependencies 下面加入
compile ‘org.greenrobot:eventbus:3.0.0’;
2.定义事件类,可以随意取名
如:

public class MyEvent {    public A a;    public MyEvent (A a) {        this.a= a;    }}

注意:A 参数根据需要定义,可以是String、int任何类型都可以;

3.发送数据:在A页面发送数据,方法为:
EventBus.getDefault().postSticky(new MyEvent (myselfInfo));
EventBus.getDefault().post(new MyEvent (myselfInfo));
注意:用postSticky会延迟发送数据(接收的地方要用上
sticky = true),用post会立即发送;

4.接收数据:在B页面接收数据:
(1),在create方法里面先注册,类似广播:
EventBus.getDefault().register(this);
(2),在destroy方法里面取消注册:
EventBus.getDefault().unregister(this);
(3),写个方法接收数据:

@Subscribe()    public void onMyEvent(A a) {        需要的数据 = event.a;    }

注意:方法名onMyEvent可以随意取;@Subscribe必须有。
就这样,数据可以随意传递了。

原创粉丝点击