一直都听说EventBus好用,接触下来发现真的是简单易用~
接收的activity:
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//注册eventbus
EventBus.getDefault().register(this);
}
@Override
protected void onDestroy() {
//反注册EventBus
EventBus.getDefault().unregister(this);
}
//传递过来的参数
@Subscribe(threadMode = ThreadMode.MAIN)//注意,要写这个
public void onEventMainThread(EventBean event) {//名字是自定义的,括号参数是自己写的bean类
String msg = event.getMsg();
Log.e("EventBus", msg);
}
}
传递数据的activity:
public class Main2Activity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View v) {
//Eventbus传递数据
EventBus.getDefault().post(new EventBean("嘻嘻嘻"));
}
}
}
自己写的一个Bean类:
public class EventBean {
private String mMsg;
public EventBean(String msg) {
mMsg = msg;
}
public String getMsg(){
return mMsg;
}
}