做一个练习来掌握EventBus最基本的使用,希望对大家有用处
MainActivity页面写一个按钮 点击按钮可以跳转到第二个页面(Main2Activate)并同时使用EventBus发送消息. 在Main2Activity中接收传来的消息并吐司
1.导入依赖
//EventBus通信
implementation 'org.greenrobot:eventbus:3.1.1'
2.在我们需要接收消息的页面Main2Activity)进行注册和反注册EventBus并且接收消息
public class Main2Activity extends AppCompatActivity {
private TextView tv_xiaoxi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main2 );
tv_xiaoxi = findViewById( R.id.tv_xiaoxi );
//注册eventbus
EventBus.getDefault().register(this);
}
//接收消息
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMoonEvent(EventMsg msg){
Toast.makeText( this, ""+msg, Toast.LENGTH_SHORT ).show();
}
//反注册
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister( this );
}
}
3.在发送消息页面(MainActivity)发送消息给第二个页面
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
TextView btn_tiao = findViewById( R.id.btn_tiao );
btn_tiao.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View v) {
EventBus.getDefault().post("这是我使用EventBus发送的消息");//发送消息
finish();
}
} );
}
}
==================================================================
到这里就已经完成了EventBus最基本的使用了