EventBus消息类型重复解决方案
来源:互联网 发布:中文msds数据库 编辑:程序博客网 时间:2024/05/20 02:27
我们平常在开发中各个组件进行数据交互也是常有的事,EventBus很好的解决了我们平常各组件数据交互时的代码量,但是我们在使用的时候会发现,如果每个页面发送的都是String类型的,在想接收的页面上接收也是String类型的,那么它会全部接收到,所以需要加一个判断,下面演示下解决方案吧,当然还有好多,另外还有很多类似于EventBus这种开源库,RXJava等等。
EventBus在V1.0.4的时候发布粘性事件,可以发送对象,但是需要手动注销掉。所以我们借助这个粘性事件来搞起。
我们首先创建一个Event类来存储信息
public T data;public Message msg;public static enum Message{ test;}public AppEvent(){}public AppEvent(Message msg, T data){ this.msg = msg; this.data = data;}public Message getMessage() { return msg;}public <T>T getData(){ if(data == null){ } return (T)data;}public static <T> void post(Message msg, T data){ EventBus.getDefault().postSticky(new AppEvent(msg, data));}
我们放入一个枚举类, 里面存储一些信息,然后我们发送的时候直接发送该类的post方法,然后接收onEvent(Appevent event), 然后通过message来switch判断,简单方便便捷。
说白了就是加个判断呗。简单记录下。
3 0
- EventBus消息类型重复解决方案
- 编译器错误消息: CS0012: 类型 解决方案
- EventBus消息总线机制
- Android EventBus 传递消息
- Android EventBus 传递消息
- EventBus 消息总线
- EventBus 消息处理框架
- EventBus 消息总线
- Android消息传递利器EventBus
- 26.使用EventBus传递消息
- [Android]消息分发使用EventBus
- 消息总线——EventBus
- android中EventBus发消息
- Eventbus接收不到消息问题
- 使用eventbus接收不到消息
- 消息类型
- 浅谈开源类库EventBus的消息机制
- 开源消息总线eventBus学习
- oracle数据库怎么新建实例
- java 字符串split有很多坑,使用时请小心!!
- C++作业6
- LeetCode 32. Longest Valid Parentheses(最长有效括号)
- POJ 1125 Floyd最短路入门
- EventBus消息类型重复解决方案
- visual studio 2013(2015)配置opencv 3.1,win10系统(x64)
- iOS跳转麦克风
- 第十一周上机实践项目 项目2-储存班长的学生信息类(1)
- List Set Map 的用法和区别
- 8行代码教你搞定iOS导航控制器全屏滑动返回效果
- Transform的简单使用
- android studio2.1创建项目的两个坑
- oracle函数大全