首页 > 解决方案 > 回调和更新数据

问题描述

我有 3 个活动

活动一展示列表视图

活动 2 显示 detailItem(活动 3 将调用活动 2

活动三创建新任务

我想在活动 3 中创建成功然后回调活动 1 并更新数据

标签: androidkotlincallbackrefreshreload

解决方案


对于非常大的项目来说,这不是一个完美的解决方案,但是:

您可以使用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'

推荐阅读