EventBus系列:EventBus3.0 简单使用
Posted zhangjin1120
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EventBus系列:EventBus3.0 简单使用相关的知识,希望对你有一定的参考价值。
上效果:
- 先引入EventBus依赖:
implementation 'de.greenrobot:eventbus:3.0.0-beta1'
- 需要接受信息的Acitivity, 注册EventBus,并在onDestroy()中解除。
public class MainActivity extends AppCompatActivity {
TextView tvName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EventBus.getDefault().register(this); //注册EventBus
tvName = findViewById(R.id.tv_name);
}
@Subscribe(threadMode = ThreadMode.MainThread)
public void updateName(String name) {
tvName.setText("姓名改为:" + name);
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this); //解绑EventBus
}
//点击“改名”
public void toChangeNameActivity(View view) {
Intent intent = new Intent();
intent.setClass(this, ChangeNameActivity.class);
startActivity(intent);
}
}
- 发送消息的Activity,调用
EventBus.getDefault().post("刘德华");
,和View.post(runnable)相似。
public class ChangeNameActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_change_name);
}
public void changeName(View view) {
EventBus.getDefault().post("刘德华");
finish();
}
}
以上是关于EventBus系列:EventBus3.0 简单使用的主要内容,如果未能解决你的问题,请参考以下文章