我有3个活动
活动1显示列表视图
活动2显示detailItem(活动3将在活动2中调用]
活动3创建新任务
我希望在活动3中创建成功后再回调活动1并更新数据
您可以使用EventBus将事件从一个地方发送到另一个地方。
首先创建消息类别:
public static class MessageEvent { /* Additional fields if needed */ }
使用任何位置从任何地方发送数据:
EventBus.getDefault().post(new MessageEvent());
并通过将活动注册到事件总线来接收它:
@Override public void onStart() { super.onStart(); EventBus.getDefault().register(this); } @Override public void onStop() { super.onStop(); EventBus.getDefault().unregister(this); }
将此添加到活动中,以便在收到消息时得到通知:
@Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(MessageEvent event) {/* Do something */};
使用其依赖代码将其添加到gradle:
implementation 'org.greenrobot:eventbus:3.1.1'