我正在从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永远不会在整个流程中被调用。
我考虑过其他选项,但由于我无法控制,我无法使用这些选项: