1

当用户按下后退按钮时,如何保存片段的状态,然后在下次加载片段时恢复它?我试过onSaveInstanceState了,但是当我回击时它没有被调用,并且Bundle传入onCreate的是null

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

4

1 回答 1

1

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

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

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

于 2012-10-03T00:14:42.797 回答