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));
        }
    });
  • 相关阅读:
    with ,Row_Number,DateDiff,DateAdd用法学习
    jmeter 读取mysql数据库
    fidder 自动保存请求内容
    redis 常用方法整理
    解决:EXCEL复制粘贴,精度丢失
    MYSQL 创建常见问题
    MYSQL 存储过程、函数、临时表、游标
    MYSQL 测试常用语句使用技巧
    3-6
    selenium3 下载、配置
  • 原文地址:https://www.cnblogs.com/dubo-/p/7728301.html
Copyright © 2011-2022 走看看