Android DialogFragment只显示一次-

Android DialogFragment只显示一次-,android,android-fragments,fragment,android-dialogfragment,Android,Android Fragments,Fragment,Android Dialogfragment,所以我有一个对话,我试图从一个活动中显示出来 此活动有一个导航图(JETPACK) 现在,如果我在活动中,我只能显示此弹出窗口一次 然后,如果我关闭活动并再次返回,它将不会显示对话框,因为活动的状态已保存。如果我使用commit它正在崩溃,我将使用committellowingstateloss来提交这个对话框片段。我在stackoverflow中到处搜索,找不到这个问题的单一解决方案 im如何显示片段的代码: public void show(Context context) {

所以我有一个对话,我试图从一个活动中显示出来 此活动有一个导航图(JETPACK)

现在,如果我在活动中,我只能显示此弹出窗口一次 然后,如果我关闭活动并再次返回,它将不会显示对话框,因为活动的状态已保存。如果我使用commit它正在崩溃,我将使用
committellowingstateloss
来提交这个对话框片段。我在stackoverflow中到处搜索,找不到这个问题的单一解决方案

im如何显示片段的代码:

 public void show(Context context) {

    FragmentManager fragmentManager = ((AppCompatActivity) context).getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    Fragment prev = fragmentManager.findFragmentByTag(TAG_DIALOG);
    if (prev != null) {
        fragmentTransaction.remove(prev);
    }

    fragmentTransaction.add(this, TAG_DIALOG);
    fragmentTransaction.commitAllowingStateLoss();
}

请演示如何打开片段


活动关闭时是否保存任何内容?我只能想象保存实际片段实例时会出现问题,但这都是猜测工作,没有看到任何代码。

您好,我刚刚将代码添加到问题中,请刷新查看。在离开范围时,无法真正看到任何可能捕获变量的内容。我可以想象碎片可能会从管理器中移除,试图自杀。例外情况是什么?另外:虽然我还没有专业地使用安卓系统,但让片段“展示”本身让人感觉很奇怪,所以我不确定这只是我的业余爱好。谢谢桑迪,我想我们应该等专家来回答这个问题。非常感谢。