EventBus 简单使用

114 阅读1分钟

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)
粘性事件 接收值的方法

---------------------
作者:币圈小韭菜
来源:CSDN
原文:blog.csdn.net/liu_qunfeng…
版权声明:本文为博主原创文章,转载请附上博文链接!