1、可以实现Activity之间高效的通信。
2、较好地实现了监听器和事件之间的解耦。
(ps:本人觉得它实际上是一个简易的观察者模式。)
3、用法:
//事件接收
public void onEventMainThread(CommentBetweenActivity event){ if(event != null) { Toast.makeText(getApplicationContext(), "MainActivity接受数据" + event.getStringMsgData(), Toast.LENGTH_LONG).show(); adapter.notifyDataSetChanged(); } }
// 事件注册
EventBus.getDefault().register(this);
// 事件发送
EventBus.getDefault().post(new CommentBetweenActivity("from TwoActivity msg"));
其中CommentBetweenActivity时候个实体类,用于两个Activity沟通的桥梁。
package com.jianke.doctor; /** * Created by zhangzebin on 2016/3/21. * 事件消息实体类 * */ public class CommentBetweenActivity { protected String mstrMsg; public CommentBetweenActivity(String msg) { mstrMsg = msg; } public String getStringMsgData(){ return mstrMsg; } }