1,注册接收者
//在生命周期中, 注册与销毁EvtentBus
@Override
protected void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
//接收值的方法
@Subscribe(threadMode = ThreadMode.MAIN)
public void getData(Bean bean){
Log.d(TAG, "getData: "+bean.getName()+bean.getAge()+bean.getSex());
Toast.makeText(this, "第一个页面的属性"+bean.getName()+bean.getAge()+bean.getSex(), Toast.LENGTH_SHORT).show();
}
//跳转至某个页面
jump.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this,Main2Activity.class));
}
});
2,发送者
//第二个页面发送的方法
EventBus.getDefault().post(new Bean("张三",20,"男"));
注意不可传int值, 可以在bean类中传送, bean类重写字段的get,set方法
EventBus粘性事件:
粘性事件发送的方法
EventBus.getDefault().postSticky(new GetPid(pid));
@Subscribe(threadMode = ThreadMode.MAIN,sticky = true)
粘性事件 接收值的方法