gpt4 book ai didi

android - 我在 Fragment 生命周期中遇到了麻烦,需要一个解决方案来摆脱它

转载 作者:行者123 更新时间:2023-11-29 15:35:11 24 4
gpt4 key购买 nike

我对此做了充分的研究,但没有一个明确的解决方案。

在生命周期中,特别是在 Fragment 生命周期中,在 onPause() 之后的任何时刻都会出现异常。

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

我的逻辑是,要继续当前 fragment ,在它达到此状态后,我必须重新启动 Activity 并使用 Intent 再次指向预期的 fragment 。

我想弄清楚正在发生的事情以及应对它的真正解决方案。

我需要知道这种机制的优缺点;它在 Fragment 或 Activity 生命周期中的重要性。

此外,如果我在 onCreate 中将 Windows 功能更改为不进入休眠状态,除非用户手动按下主页按钮,否则 Activity 是否仍会进入此状态?

最佳答案

当您尝试以任何其他方式在暂停的 Activity 中添加/删除/替换/交互 Fragment 时,会发生此异常。

这意味着 Activity 如果立即被销毁,将无法恢复其状态(恢复已更改的 Fragment 的状态)。

此处最好的解决方案是检查 Activity 在与 Fragment 交互期间是否未暂停。另一种选择是使用 commitAllowingStateLoss() 与 Fragment 事务交互,但有丢失其状态的风险。

参见: https://developer.android.com/reference/android/app/FragmentTransaction.html#commitAllowingStateLoss()

在理想情况下,您应该仔分割析每次崩溃并添加检查以验证您是否仅在 Activity 启动并运行时才与 fragment 交互。

关于android - 我在 Fragment 生命周期中遇到了麻烦,需要一个解决方案来摆脱它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117246/

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