0

我有一个活动A。它可以使用服务器请求的数据或呼叫活动B(如A→A→B→A)多次启动本身。如果最近和当前在前台,活动A对数据进行一些编辑(删除或更新操作),我希望A的先前实例重新加载它们中的数据。我该如何实现?我不想一次又一次地使用startactivityforresult,因为它会使工作流程复杂化。可以使用广播接收器或服务完成这项工作吗?怎么样?通知有关数据更新的Android Activty实例

回答

0

您可以使用EventBus来实现此目的。只需在onStart()中注册每个活动,然后在onDestroy()注销,并且当数据发送到任何活动时,只需拨打EventBus.getDefault().post(YourDataClass data);并且每个活动都会收到数据。

+0

我已经想到了这一点,对我来说,似乎管理List 可能会有问题。基本上我必须推入并弹出堆栈实例,并且正在寻找更简单的方法实现它。是否有其他方式?谢谢。 –

+0

我唯一能想到的其他事情是使用类似EventBus的事件来发布事件,然后在活动中使用它们,如果你真的想继续使用'Activity'而不是'Fragment'。 你可以在这里找到EventBus:https://github.com/greenrobot/EventBus – LukeWaggoner

+0

但是,如果Activtiy不在前台,并且在onstop方法之后没有从事件总线注销,它会起作用吗?同一个实例可以多次注册自己吗?这可以通过使用广播接收机来实现吗?谢谢。 –