'boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()'空对象引用



我得到此错误崩溃

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()' on a null object reference

当活动onstop((和从fragmentTransaction删除片段时

我添加了

@Override
public void onDetach() {
    super.onDetach();
    try {
        Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");
        childFragmentManager.setAccessible(true);
        childFragmentManager.set(this, null);
    } catch (NoSuchFieldException e) {
        throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
        throw new RuntimeException(e);
    }
}

我所有的片段都没有帮助

我的代码

FragmentTransaction t = getSupportFragmentManager().beginTransaction();
                    //t.replace(R.id.calendar1, weekendCaldroidFragment);
                    t.detach(weekendCaldroidFragment).add(R.id.calendar1, weekendCaldroidFragment).attach(weekendCaldroidFragment).commitNowAllowingStateLoss();

onDetach()中删除所有代码 - 在任何最近版本的片段上都不是必需的,这正是导致崩溃的原因。

相关内容

最新更新