zoukankan      html  css  js  c++  java
  • EventBus消息机制在Eclipse环境下的使用

    1、在onStart()方法中注册

    @Override
        public void onStart() {
            super.onStart();
            // 注册 EventBus
            // 判断 Eventbus 是否注册
            if (!EventBus.getDefault().isRegistered(this)) {
            EventBus.getDefault().register(this);
            }
        }

    2、在onStop()方法中销毁

    @Override
        public void onStop() {
            super.onStop();
            // 注销操作
            if (EventBus.getDefault().isRegistered(this)) {
                EventBus.getDefault().unregister(this);
            }
        }

    3、发送消息

    EventBus.getDefault().post(new EventBusMsgInfo(position));

    4、自定义方法 接受发送的数据

    @Subscribe(threadMode = ThreadMode.MAIN)
        public void getEventBusMsg(EventBusMsgInfo busMsgInfo){
            // 调用切换界面的方法,实现切换界面
            //该方法可直接将传递过来的数据进行操作
            switchPager(busMsgInfo.position);
        }
        定义发送消息传递的bean类
        public class EventBusMsgInfo {
        
            public int position;
        
            public EventBusMsgInfo(int position) {
                super();
                this.position = position;
            }
            
        }

    5、重点提示

      5.1、添加注解在此处有三种模式
                模式一:POSTING:默认的模式,发送和接受操作都在一个线程中执行
                模式二:MAIN:不管在那个线程发送消息,都在UI线程接收
                模式三:BACKGROUND:如果在子线程发送消息,那么接收也必须在子线程,如果在主线程发送消息,那么接收也必须在主线程。
                模式四:ASYNC:接收和发送都在子线程中执行
         5.2、EventBus发送消息 发送的对象应该是一个bean类本例中

  • 相关阅读:
    低水平博士是提升科研生涯的毒药
    MATLAB——axis
    MATLAB——PLOT绘图
    漫谈正态分布的生成
    一位创业者创业失败后,成功的做了一个创业孵化器!
    iOS 使用Method Swizzling隐藏Status Bar
    翻转View
    【iOS】Plist-XML-JSON数据解析
    Android流式布局实现
    S3C2416裸机开发系列十六_sd卡驱动实现
  • 原文地址:https://www.cnblogs.com/yegong0214/p/6274797.html
Copyright © 2011-2022 走看看