EventBus 简单使用

首先需要一个实体类 MessageEvent:

    private Object message;
    public MessageEvent(Object message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(Object message) {
        this.message = message;

    }

下面接在需要接收事件的地方:

    EventBus.getDefault().register(this);//注册EventBus

 

   @Subscribe(threadMode = ThreadMode.MAIN) //必须写
    public void onEventMainThread(MessageEvent event){
       
//event.getMessage() 为接收到传来的消息;下面写接收到需要处理的事件
        Toast.makeText(getActivity(), event.getMessage(), Toast.LENGTH_LONG).show();

    }

下面是发送事件的地方( 粘性事件是发送事件之后再注册事件也可以接收到事件;另一个是未注册便接收不到事件了):

    EventBus.getDefault().post(new MessageEvent("事件")); //发送事件

    EventBus.getDefault().postSticky(new MessageEvent("粘性事件")); //发送粘性事件

    // 下面是示例

        tv_EventBus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                EventBus.getDefault().postSticky(new MessageEvent("事件"));//发送粘性事件
                finish();
            }

        });

 

更多好内容戳下面:

https://blog.csdn.net/wuqingsen1

你可能感兴趣的:(EventBus)