zoukankan      html  css  js  c++  java
  • EventBus 简单原理(一)

    EventBus

    1.根据文章最前面所讲的EventBus使用步骤,首先我们需要定义一个消息事件类:

    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.
    在ActivityA界面中我们首先需要注册订阅事件:
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //注册事件
        EventBus.getDefault().register(this);
        ......
    }
    3.然后在onDestory()方法中取消订阅:
    @Override
    protected void onDestroy() {
        super.onDestroy();
        //取消事件注册
        EventBus.getDefault().unregister(this);
    }
    4.当然还要定义一个消息处理的方法:
    @Subscribe(threadMode = ThreadMode.MainThread)
    public void onShowMessageEvent(MessageEvent messageEvent) {
        mMessageView.setText("Message from SecondActivity:" + messageEvent.getMessage());
    }
    5.至此,消息订阅者我们已经定义好了,我们还需要在ActivityB中发布消息:
    findViewById(R.id.send).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String message = mMessageET.getText().toString();
            if(TextUtils.isEmpty(message)) {
                message = "defaule message";
            }
            EventBus.getDefault().post(new MessageEvent(message));
        }
    });
  • 相关阅读:
    老男孩九期全栈Python之基础一
    为善如挽逆水之舟,才放手便下流
    对自己的表现打分
    anki
    解决推送数据平台
    己所独知,尽是方便;人所不见,尽是自由
    常与权
    为什么会一直刷视频而停不下来
    准备换个房子
    UDEC 1
  • 原文地址:https://www.cnblogs.com/dubo-/p/7728301.html
Copyright © 2011-2022 走看看