EventBus 在新版中取消了原来的使用方式
public void onEvent(MessageEvent event) {
log(event.message);
}
public void onEventMainThread(MessageEvent event) {
textField.setText(event.message);
}
public void onEventBackgroundThread(MessageEvent event){
saveToDisk(event.message);
}
变成了:
@Subscribe(threadMode = ThreadMode.MainThread)
public void onUserEvent(UserEvent event) {
}
@Subscribe(threadMode = ThreadMode.BackgroundThread)
public void onUserEvent(UserEvent event) {
}
@Subscribe(threadMode = ThreadMode.Async)
public void onUserEvent(UserEvent event) {
}
@Subscribe(threadMode = ThreadMode.PostThread)
public void onUserEvent(UserEvent event) {
}
由于官方 文档 还没有更新, 特此记录,
官方文档: https://github.com/greenrobot/EventBus/blob/master/HOWTO.md#delivery-threads-and-threadmodes
EventBus 的简单使用:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EventBus.getDefault().register(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.BackgroundThread)
public void onUserEvent(ClassEvent event) {
}
EventBus.getDefault().post(new ClassEvent());
static class ClassEvent{}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
至此: 文章就结束了,如有疑问: QQ群:274306954 欢迎您的加入.