Android SaveInstanceState上的碎片事务

Android SaveInstanceState上的碎片事务,android,android-fragments,Android,Android Fragments,我有一个小应用程序,它有一个单独的活动,并以片段的形式显示内容。因此,我通过将当前片段替换为下一个片段(并将它们放在后堆栈)来浏览我的应用程序 应用程序被锁定在纵向,因此活动永远不会被破坏 所以我的问题是,在导航到片段B之前,如何保存片段a的“实例状态”,并在按下后退按钮并且片段a将再次显示在屏幕上时恢复实例状态 据我所知,片段中的onSaveInstanceState绑定到activites生命周期,只有在活动被销毁时才会被调用。由于im使用单个活动并使用片段事务,因此活动永远不会被销毁,因此

我有一个小应用程序,它有一个单独的活动,并以片段的形式显示内容。因此,我通过将当前片段替换为下一个片段(并将它们放在后堆栈)来浏览我的应用程序

应用程序被锁定在纵向,因此活动永远不会被破坏

所以我的问题是,在导航到片段B之前,如何保存片段a的“实例状态”,并在按下后退按钮并且片段a将再次显示在屏幕上时恢复实例状态

据我所知,片段中的onSaveInstanceState绑定到activites生命周期,只有在活动被销毁时才会被调用。由于im使用单个活动并使用片段事务,因此活动永远不会被销毁,因此永远不会调用onSaveInstanceState

所以我尝试的第二种方法是使用Fragment.getArguments()和Fragment.setArguments()。 但是一旦片段被实例化,我就不能更改参数(IllegalStateException)


那么,在这样的场景中(单个活动,使用片段事务)如何处理片段实例状态的任何其他想法或提示呢?

将实例与Bundle一起保存在onDestroyView()中,然后在onCreateView()中检索它们。

请阅读此处:,。抱歉,当足够读取10行时,很难给出详细信息。下次我将复制粘贴。我已经阅读了文档,但无法理解您的意思。如何在onDestroyView()中保存实例状态?也许您可以在包含片段的活动中保存捆绑包。:)我在这里发现了一个相关的问题。希望能有所帮助。