一直都聽說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;
}
}