gpt4 book ai didi

android - IllegalStateException Activity 已被销毁 - 三重嵌套 fragment

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

我有一个 Fragment,我们称它为... F1 包含一个 Fragment F2;它又包含一个 Fragment F3

当我启动我的应用程序时,我收到此错误:

IllegalStateException: Activity has been destroyed

指的是这行代码:

        getChildFragmentManager().beginTransaction().add(R.id.fragmentcontainer, fragment_profile_list.newInstance()).commit();

fragmentcontainer 是我主要上层 Fragment F1 中的一个 FrameLayoutF2 位于 F1fragmentcontainer 中。

关于如何解决这个问题的任何想法;我尝试进行搜索,其他结果显示硬编码一个 Fragment 字段并立即分配它,但这也没有解决问题。

最佳答案

您可以在添加 F3 之前转储 F2 的内部状态。如果你看到 mActivity != null 就没事了。否则你会得到异常。

dump("", null,  new PrintWriter(System.out, true), null);

我不确定是什么让 mActivity = null 在你的情况下。就我而言,我在附加 fragment 之前过早地调用了 fragment 的 getChildFragmentManger(当 mActivity = null 时)。首次调用时,getChildFragmentManager 会在内部为 fragment 初始化 mChildFragmentManager。结果,我最终得到了一个带有 null mActivity 的 mChildFragmentManager。后来当我试图用它来添加一个子 fragment 时,我得到了“Activity has been destroyed”的异常。

关于android - IllegalStateException Activity 已被销毁 - 三重嵌套 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23191949/

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