如何在Backstack中更新Fragment的数据?

时间:2017-01-02 09:39:22

标签: android android-fragments

我使用了一个Activity和许多Fragment。现在,当我收到IntentService的回复时,我使用Otto事件总线将响应的数据推送到Fragment

我有一个案例,我希望使用从服务器获取的数据来更新Fragment的适配器(以及使用适配器的RecyclerView。)

问题是:用户可以移动到另一个片段,以便如何更新以前的片段状态,因为它现在已从事件总线取消订阅?

1 个答案:

答案 0 :(得分:2)

您可以将订阅/取消订阅移至onAttach / onDetach

尝试将您的活动包含在事件总线中,然后在处理此事件的活动方法中使用FragmentManager查找要将事件传递到的片段。

FragmentWithEventListener toiletDetailFragment = (FragmentWithEventListener) getSupportFragmentManager()
            .findFragmentByTag(FragmentWithEventListener.TAG);

它会在TAG中找到你的片段,即使它在后栈中: 如果没有找到这样的片段,则搜索当前在后栈上的所有片段。