dialog.dismiss方法在AlertDialog中没有意义

时间:2013-09-12 12:27:10

标签: android alertdialog

在android中使用OK / Cancel按钮的常规AlertDialog如下所示。

    AlertDialog.Builder dialog = new AlertDialog.Builder(QuestionViewActivity.this);
    dialog.setTitle("Write something");
    dialog.setView(layout);

    dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            try {
                postArticle(editText.getText().toString());
                dialog.dismiss();
            } catch (IllegalArgumentException exception) {

            }
        }
    });
    dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    });
    AlertDialog ad = dialog.create();
    ad.show();

我发现dialog.dismiss();方法没有意义,所以即使对方法进行评论,对话框也会关闭。我假设对话框中的按钮单击事件会自动调用对话框关闭命令。

是真的吗?

1 个答案:

答案 0 :(得分:0)

是的,你是对的。对话框按钮对话框的OnClick事件自动被解除。如果您希望对话框不会自动关闭,那么您必须明确设置它。比如dialog.setCancelable(false);