EventBus实战

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_39507260/article/details/84930831

EventBus实战
1.依赖库

implementation 'org.greenrobot:eventbus:3.1.1'

2.定义事件类,用于Activity/Fragment之间通信

public class MessageEvent {
    private String message;

    public MessageEvent () {
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message= message;
    }
}

3.注册Activity/Fragment为订阅者,也可以用EventBusBuilder自己配置EventBus

EventBus.getDefault().register(this);

4.@Subscribe注解订阅的方法,方法可以随便取名,在注册的Activity/Fragment。可以制定线程模式,是否接受sticky事件,订阅者级别

@Subscribe(threadMode = ThreadMode.BACKGROUND, sticky = true, priority = 100)
public void showMessage(MessageEvent event) {
    //收到这个MessageEvent ,取出里面的信息
}

5.在任意位置调用EventBus发送事件

mEventBus.post(new MessageEvent());
mEventBus.postSticky(new MessageEvent());

6.在onDestory中解注册,

mEventBus.unregister(this)

猜你喜欢

转载自blog.csdn.net/qq_39507260/article/details/84930831