gpt4 book ai didi

android - 在 onSaveInstanceState 期间创建的 SavedInstantState 未在 onCreate 中恢复

转载 作者:行者123 更新时间:2023-11-30 04:02:30 25 4
gpt4 key购买 nike

我的应用程序是一个 Activity(它现在是 FragmentActivity 的子类,尽管我认为这不重要),我们称它为 Activity A。

在其中,一个按钮通过 Intent 使用没有特殊标志的 startActivity() 启动它,导航到(比如说)Activity B。

两个 Activity 在 list 中都没有任何特殊标志(SingleTop)等,没有调用 finish() 等。即没有什么异常。

Activity A 的 onSaveInstanceState() 方法被调用,我保存了一些状态信息。

在 Activity B 中,我按下 BACK 键返回到 Activity A。

它的onCreate()方法被调用了,但是“savedInstanceState”的Bundle为null,所以我无法重建我之前保存的状态。

任何想法我做错了什么,以及如何确保我恢复状态。

顺便说一句:在配置更改(比如轮换)时,一切正常....

最佳答案

当您仅通过按返回键返回 Activity A 时,调用 onCreate() 似乎很奇怪。一般来说,它应该只显示现有的 Activity 而不试图重新创建它。我还认为当您启动其他 Activity 时调用 onSaveInstanceState() 也很奇怪。事实上,文档指出它可能不会在启动 Activity B 时调用 onSaveInstanceState():

An example: when onPause() is called and not onSaveInstanceState(Bundle) is when activity B is launched in front of activity A: the system may avoid calling onSaveInstanceState(Bundle) on activity A if it isn't killed during the lifetime of B since the state of the user interface of A will stay intact.

来自 here .

我认为还有其他事情正在发生。

关于android - 在 onSaveInstanceState 期间创建的 SavedInstantState 未在 onCreate 中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com