使用EvnetBus进行消息传递解析
2016-03-16 19:03
267 查看
上一篇介绍了EventBus是如何进行数据传递的,这一篇介绍一下我们在工作中是如何用EvnetBus进行消息传递的
EventBus的注册还销毁就不必说了,直接上代码,要传递消息跟传递数据一样,就是要告诉你我要干什么动作,不必传递数据,道理其实是一样的,这里为了怕大家不太理解,就赘述一下
建立消息传递事件
这里定义了一个发送消息的事件SEND_MSG,在点击某个view的时候就可以发送事件
事件接收
因为接收消息是全局的,如果我们发送消息,而不加type类型的话,那就都会被接收,造成逻辑混乱,一点点工作中的经验,希望对大家有所帮助。
EventBus的注册还销毁就不必说了,直接上代码,要传递消息跟传递数据一样,就是要告诉你我要干什么动作,不必传递数据,道理其实是一样的,这里为了怕大家不太理解,就赘述一下
建立消息传递事件
/** * 点击事件事件 */ public class ClickEvent { public enum Type { //发送消息 SEND_MSG, } public Type type; public View view; public Object data; public ClickEvent(Type type, View view, Object data) { this.type = type; this.view = view; this.data = data; } }
这里定义了一个发送消息的事件SEND_MSG,在点击某个view的时候就可以发送事件
EventBus.getDefault().post(new ClickEvent(ClickEvent.Type.SEND_MSG, v, position));
事件接收
public void onEventMainThread(ClickEvent event) { switch (event.type) { case SEND_MSG: //接收到消息,可以在此进行处理 break; } }
因为接收消息是全局的,如果我们发送消息,而不加type类型的话,那就都会被接收,造成逻辑混乱,一点点工作中的经验,希望对大家有所帮助。
相关文章推荐
- 《Linux内核分析》第四课笔记
- 创建 virtualbox client com 失败
- 记第一次面试20160316
- 怎样把百度分享按钮添加到自己的网站
- 计划将项目中使用entity framework的要点记录到改栏目下
- lintcode:Pow(x, n)
- mysql主从不同步时,怎么恢复
- 深入Java集合学习系列:LinkedHashMap的实现原理
- 一些网络相关问题的总结
- 图说函数模板右值引用参数(T&&)类型推导规则(C++11)
- C#和C++的区别
- mac 新电脑上安装使用adb
- 0x3f3f3f3f…编程中无穷大常量的设置技巧
- php分页类代码带分页样式效果(转)
- 2016.3.15作业
- java中基本数据类型与字符串的转换
- python Custom template tags and filters is not a valid tag library
- HDU 2602Bone Collector 01背包
- uva10746 (最小费用最大流)
- com.alibaba.dubbo.rpc.RpcException: Since you are