gpt4 book ai didi

android - DialogFragment 上的 commitAllowingStateLoss

转载 作者:IT老高 更新时间:2023-10-28 22:13:49 25 4
gpt4 key购买 nike

我在显示 DialogFragment 时遇到 IllegalStateException :

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

我知道它为什么会发生,但我想通过覆盖 DialogFragment show 函数来使用 commitAllowingStateLoss 来显示对话框:

public void show(FragmentManager manager, String tag) {
mDismissed = false;
mShownByMe = true;
FragmentTransaction ft = manager.beginTransaction();
ft.add(this, tag);
ft.commit(); //replace it by commitAllowingStateLoss
}

但我无法访问 mDismissedmShownByMe 变量,我如何访问这些变量来修改它们,就像它的父级所做的那样。

最佳答案

我认为防止在 DialogFragment 上抛出 IllegalStateException 可能会更好:

 YourDialogFragment dialogFragment = new YourDialogFragment();
fragmentManager.beginTransaction().add(dialogFragment, YourDialogFragment.TAG_FRAGMENT).commitAllowingStateLoss();

而不是在 DialogFragment 上使用 show()

关于android - DialogFragment 上的 commitAllowingStateLoss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30424319/

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