android - 关闭 fragment 中的对话框将删除 fragment 本身

标签 android android-fragments

当我点击 DialogFragment 中的按钮时,我打开了一个对话框:

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MyFragment.this.getActivity());
    alertDialogBuilder.setTitle("Remove?");
    alertDialogBuilder.setMessage("Are you sure?");
    alertDialogBuilder.setCancelable(true);
    alertDialogBuilder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
        }
    });
    alertDialogBuilder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int id) {
            dismiss();
        }

    });
    AlertDialog alertDialog = alertDialogBuilder.create();
    alertDialog.show();

当我按下 Dialog 上的取消按钮时,整个 fragment 都消失了。

MyFragment 是一个 DialgFragment,我认为这是错误的原因。

现在的问题是如何关闭 DialogFragment 中的对话框?

最佳答案

替换这一行

dismiss();

dialog.dismiss();

您在 DialogFragment 中。 从这个DialogFragment dismiss() 将删除 DialogFragment 而不是 Dialog

关于android - 关闭 fragment 中的对话框将删除 fragment 本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22092374/

相关文章:

具有替代颜色和焦点颜色的Android ListView

android - 保护 WCF Web 服务,保持与 Android 和 Silverlight 的兼容性

android - 奇怪的行为 - VideoViewer fragment 无法与 MediaController 一起使用

android - Activity 在旋转更改时重新启动

Android后退按钮从后台带来错误的 fragment

java - 如何在android服务中建立WebSocket连接?

java - 如何使用多个日期选择器更新 TextView

Android 应用内订阅测试

java - 带有 ViewPagers oncreateView 的 Android fragment 在错误的 fragment 中调用

android - 列出一个 fragment ?