Android高级——EventBus

EventBus:类似于发布者订阅者模式。
EventBus的三要素:事件、事件订阅者、事件发布者。
事件通常是一个JavaBean
事件订阅就是接收到时间之后的处理方法。

1.定义事件类:

//定义事件类的Javabean
public class MessageEvent {
    private String message;

    public MessageEvent(String message) {
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

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

2.注册

EventBus.getDefault().register(MainActivity.this);

3.发布:

eventBus.post(new MessageEvent("这是一个重要的通知"));

4.订阅:

//订阅事件
    //后面用来指示线程模式,表示触发之后是在主线程中进行
    @Subscribe(threadMode= ThreadMode.MAIN)
    public void onMessageEvent(MessageEvent messageEvent){
        //当发生事件之后所做的操作
        tv.setText(messageEvent.getMessage());
    }

注:普通的事件,必须要注册之后才能够收到发布的事件,在注册之前发布的事件都订阅不到

黏性事件

黏性事件的注册和发布的顺序不固定,可以先发布再注册,也能够收到注册之前发布的事件。可以用来做预处理。

黏性事件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容