1。导包(https://github.com/greenrobot/EventBus)
compile 'org.greenrobot:eventbus:3.0.0'
2。定义类javabean的事件对象
package com.louisgeek.louisdemo;
/**
* Created by louisgeek on 2016/3/31.
*/
public class MyEvent {
private String text;
public MyEvent(String text) {
this.text=text;
}
public String getText() {
return text;
}
}
3。在接收数据页面,如fragment中生命周期中注册和取消注册
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
EventBus.getDefault().unregister(this);
super.onStop();
}
//ps:分别写在onCreate和onDestroy中也行
//加上
@Subscribe
public void onEventMain(MyEvent myEvent) {
String msg = "Fragment中onEventMainThread收到了消息:" + myEvent.getText();
Toast.makeText(getActivity(), msg, Toast.LENGTH_LONG).show();
}
//ps:3.0不加@Subscribe ThreadMode默认是POSTING
//会报错:no public methods with the @Subscribe annotation
3。发送页面点击发送信息
findViewById(R.id.id_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EventBus.getDefault().post(new MyEvent("数据来自主页面ATY"));
}
});