片段中的关闭对话框将删除片段本身

时间:2014-02-28 10:24:36

标签: 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();

当我按对话框上的取消按钮时,整个片段消失。

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

现在问题是如何解除DialogFragment中的Dialog?

2 个答案:

答案 0 :(得分:2)

替换此行

dismiss();

dialog.dismiss();

你在DialogFragment内。 从此DialogFragment dismiss()将删除DialogFragment而不是Dialog

答案 1 :(得分:1)

您应该能够使用Dialog.dismiss()Dialog.cancel()