当用户按下后退按钮时,如何保存片段的状态,然后在下次加载片段时将其恢复?我尝试了onSaveInstanceState
,但是当我回击时它没有被调用,而传递到Bundle
的{{1}}是onCreate
。
对于上下文,我有一个标题Activity,当用户按下按钮(例如,“新游戏”)时,它会启动新游戏Activity。第二个(游戏)活动在null
中加载XML布局,其中包含自定义onCreate
。当用户按下后退按钮时,我想返回标题Activity,但提供“恢复游戏”按钮。为此,我需要为片段保存一些自定义状态数据。
答案 0 :(得分:1)
默认情况下,当用户按Back
时,不会发生onSaveInstanceState()调用如果用户按下“返回”按钮,则会从堆栈弹出当前活动并且>销毁。堆栈中的先前活动已恢复。当活动被销毁时,>系统不会保留活动的状态。
所以你可以这样做的方式似乎是:(1)使用你自己的实现覆盖活动的onBackPressed()你在哪里(2)保存片段实例。看一下FragmentManager.saveFragmentInstanceState() - 我相信这就是你需要的东西