github 消息总线 EventBus3.0

EventBus
适用于Android和Java的事件总线,可简化活动,碎片,线程,服务等之间的通信。减少代码,提高质量。
https://github.com/greenrobot/EventBus

1、下载
    app->

    ### implementation 'org.greenrobot:eventbus:3.1.1'

2、

public class EventBusBean {
    //小红点设置
    public static class EventNumber {
        public int number;
    }

    //更新房间列表
    public static class UpdateRoom {
        public boolean result;
    }

    //更新系统消息
    public static class UpdateSystem {

    }

}

2.准备订阅者

    @Subscribe(threadMode = ThreadMode.MAIN)
    public void setNumber(String Number) {
        if (Integer.parseInt(Number) == 0) NavigationNumber.setVisibility(View.GONE);
        else NavigationNumber.setVisibility(View.VISIBLE);

        NavigationNumber.setText(Number);
    }

    @Override
    public void onStart() {
        super.onStart();
        EventBus.getDefault().register(this);
    }

    @Override
    public void onStop() {
        EventBus.getDefault().unregister(this);
        super.onStop();
    }

3.发送事件

    EventBus.getDefault().post(new MessageEvent("Hello everyone!"));


 

 

问题:

org.greenrobot.eventbus.EventBusException: Subscriber class v.xinyi.ui.LaunchActivity and its super classes have no public methods with the @Subscribe annotation

     解决:在没有@Subscribe注释的订阅者类内,不能设置  EventBus.getDefault().register(this);    EventBus.getDefault   ().unregister(this); 需要共存。
   

   

 

...持续

转载于:https://my.oschina.net/Forever2019/blog/3025644

你可能感兴趣的:(github 消息总线 EventBus3.0)