android - 回调和更新数据
问题描述
我有 3 个活动
活动一展示列表视图
活动 2 显示 detailItem(活动 3 将调用活动 2)
活动三创建新任务
我想在活动 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'
推荐阅读
- c# - 加载图像时的C#WPF切换宽度和高度
- airflow - 在气流中发出数据库请求的问题
- python - Pyramid 自定义 JSON 渲染器,翻译 TranslationString
- javascript - jQuery - 检查空值的正确方法
- mysql - Envers + MYSQL + 列表
= SQLSyntaxErrorException: 指定的键太长; - magento2 - Magento 2.3.2 默认 magento 单元测试失败
- ms-access - 如何在 MS Access 中以编程方式更新记录?
- javascript - 从两个对象数组中过滤,然后合并它们
- java - 将 OOP java 转换为现代 c++ 代码、抽象和接口方法
- java - URI 参数中逗号分隔的 10 种货币的 RegEx 模式