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必须有。
就这样,数据可以随意传递了。