导依赖
compile files('libs/EventBus2.4.jar')
定义一个MessagrEvent
消息事件类
public class MessageEvent { private String message; public MessageEvent(String message) { this.message = message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
注册和解除注册
分别在FirstActivity的onCreate()方法和onDestory()方法里,进行注册EventBus和解除注册。
都在Mainactiviy
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); //注册 EventBus.getDefault().register(this); //点击跳转一个页面 mBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(MainActivity.this,Main2Activity.class); startActivity(intent); } }); }
//最常用的一个方法 名字不能自己定义必须是这个 //处理事件 public void onEventMainThread(MessageEvent message) { //得到MessageEvent String string = message.getMessage(); //赋值 mText.setText(string); } //关闭/解除注册 @Override protected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); }
事件处理
在Main2Activity类里面
点击会直接返回处理事件的MainActivity 的 onEventMainThread()方法里
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); initView(); mButton2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //发送事件 并且finish()结束 EventBus.getDefault().post(new MessageEvent("板板")); finish(); } }); }