保存/恢复片段替换事务

时间:2018-03-21 22:19:34

标签: android android-fragments

我正在从FragmentA到FragmentB执行替换事务并将其添加到后台堆栈。因此,生命周期事件将被触发:

  

FragmentB:onAttach - >的onCreate   然后FragmentA:onPause - > onStop - > onDestroyView

当我按回从B回到A时,生命周期事件会像这样发射:

  

B:onPause - > onStop - > onDestroyView - > onDestroy - > onDetach   那么A:onCreateView - > onStart - >的onResume

我尝试保存并恢复用户在回复时看到的内容。 FragmentA只是一个RecyclerView所以我希望FragmentA拥有相同的项目和scrollPosition,就像用户在返回时一样。我试图让它看起来好像只是一个弹出的活动弹出窗口。

我试图利用RecyclerView的layoutManager状态。将它保存在FragmentA的onSaveInstanceState中,并在FragmentA的onCreateView或onRestoreInstanceState中恢复它。但是,它并不起作用,因为FragmentA的onSaveInstanceState永远不会在整个流程中被调用。

我考虑过其他选项,但由于我无法控制,我无法使用这些选项:

  • 不能为FragmentB创建另一个活动,而是执行活动导航事务
  • 不能使用添加片段事务

0 个答案:

没有答案