gpt4 book ai didi

android - 我怎么知道再访问 Fragment ChildFragmentManager 是否安全?

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

因此,当我尝试将某些内容放入 fragment 的子 fragment 管理器中时,我偶然发现了可怕的 Can not perform this action after onSaveInstanceState 异常。

我怎样才能正确地知道我不应该那样做?我通读了 FragmentManagerFragment 的代码,没有看到在 fragment 上调用 ​​onSaveInstanceState() 后翻转的任何标志。

当然,我可以执行 FragmentTransaction.commitAllowStateLoss() 但这是一个肮脏的 hack 并且有一个 bool 标志,当我覆盖 fragment 的 onSaveInstanceState 方法时我也切换丑...

最佳答案

我用于提交 FragmentTransaction 的规则是:

  • onActivityCreated中做是安全的
  • isResumedtrue 时这样做是安全的

您可以找到有关所发生情况的更深入的文章 here.不获得异常的建议是:

  • 在 Activity 生命周期方法中提交事务时要小心。
  • 避免在异步回调方法中执行事务。
  • 仅将 commitAllowingStateLoss() 用作最后的手段。

关于android - 我怎么知道再访问 Fragment ChildFragmentManager 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33543698/

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