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方法之後沒有從事件總線註銷,它會起作用嗎?同一個實例可以多次註冊自己嗎?這可以通過使用廣播接收機來實現嗎?謝謝。 –