Android 从后堆栈弹出活动时保存和还原片段

Android 从后堆栈弹出活动时保存和还原片段,android,Android,当用户按下后退按钮时,如何保存片段的状态,然后在下次加载片段时将其还原?我尝试了onSaveInstanceState,但当我回击时没有调用它,传递到onCreate的Bundle是null 对于上下文,我有一个标题活动,当用户按下按钮(例如,“新游戏”)时,它会启动一个新游戏活动。第二个(游戏)活动在onCreate中加载一个XML布局,该布局由自定义片段组成。当用户按下后退按钮时,我想返回到标题活动,但提供了一个“恢复游戏”按钮。为此,我需要为片段保存一些自定义状态数据。默认情况下,当用户按

当用户按下后退按钮时,如何保存片段的状态,然后在下次加载片段时将其还原?我尝试了
onSaveInstanceState
,但当我回击时没有调用它,传递到
onCreate
Bundle
null


对于上下文,我有一个标题活动,当用户按下按钮(例如,“新游戏”)时,它会启动一个新游戏活动。第二个(游戏)活动在
onCreate
中加载一个XML布局,该布局由自定义
片段组成。当用户按下后退按钮时,我想返回到标题活动,但提供了一个“恢复游戏”按钮。为此,我需要为片段保存一些自定义状态数据。

默认情况下,当用户按Back键时,不会发生onSaveInstanceState()调用

如果用户按下后退按钮,当前活动将从堆栈中弹出并>销毁。堆栈中的上一个活动将恢复。当某个活动被销毁时,>系统不会保留该活动的状态


因此,您可以这样做:(1)使用您自己的实现覆盖活动的onBackPressed()(2)保存片段实例。查看FragmentManager.saveFragmentInstanceState()-我相信这就是您所需要的

默认情况下,当用户按Back键时,不会发生对SaveInstanceState()的调用

如果用户按下后退按钮,当前活动将从堆栈中弹出并>销毁。堆栈中的上一个活动将恢复。当某个活动被销毁时,>系统不会保留该活动的状态

因此,您可以这样做:(1)使用您自己的实现覆盖活动的onBackPressed()(2)保存片段实例。看看FragmentManager.saveFragmentInstanceState()-我相信这就是您所需要的