1. 添加依赖
implementation 'org.greenrobot:eventbus:3.0.0'
2. 注册
EventBus.getDefault().register(this);
3.构造消息发送类(post调用的对象)
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
4.发布消息
EventBus.getDefault().post(new Student("刘哈哈", 27));
5.接收消息:可以有四种线程模型选择
//接收事件
@Subscribe(threadMode = ThreadMode.MAIN)
public void studentEventBus(Student student){
mShow.setText("姓名:"+student.getName()+" "+"年龄:"+student.getAge());
}
6.解注册(防止内存泄漏)
EventBus.getDefault().unregister(this);
Demo( 普通事件 ):
1.自定义事件(类似定义JavaBean,例子定义的student类),包含用户的姓名和年龄;
2.在onCreate方法中注册订阅者,在onDestroy中解注册。
3.在另一个activity中发送事件,让订阅者能够接收
网友评论