Android 是否应该在setPositiveButton或setNegativeButton或其他onClick中的onClick中调用dismise()?

Android 是否应该在setPositiveButton或setNegativeButton或其他onClick中的onClick中调用dismise()?,android,android-alertdialog,Android,Android Alertdialog,必须在onClick中调用disclose()? 如果我没有调用disclose(),对话框仍然可以关闭 @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); Bundle args = getArguments(); if (args.contains

必须在onClick中调用disclose()? 如果我没有调用disclose(),对话框仍然可以关闭

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    Bundle args = getArguments();
    if (args.containsKey(ARG_MESSAGE_INT)) {
        builder.setMessage(args.getInt(ARG_MESSAGE_INT));
    } else if (args.containsKey(ARG_MESSAGE_STRING)) {
        builder.setMessage(args.getString(ARG_MESSAGE_STRING));
    }
    if (args.containsKey(ARG_TITLE_INT)) {
        builder.setTitle(args.getInt(ARG_TITLE_INT));
    } else if (args.containsKey(ARG_TITLE_STRING)) {
        builder.setTitle(args.getString(ARG_TITLE_STRING));
    }

     builder
            .setPositiveButton(R.string.alert_dialog_ok,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            if (null != buttonOnClickListener)
                                buttonOnClickListener.onPositiveClick();
                        }
                    }
            )
            .setNegativeButton(R.string.alert_dialog_cancel,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            if (null != buttonOnClickListener)
                                buttonOnClickListener.onNegativeClick();
                        }
                    }
            );

    return builder.create();
}

如果使用构建器创建对话框并在其中设置侦听器,则单击任何按钮都会自动关闭对话框,您无需调用Disclose


如果覆盖“单击侦听器”以防止对话框自动关闭(可能是因为希望在释放对话框之前验证某些数据),则需要调用“关闭”。为此,您需要覆盖onStart中的click侦听器。

onNegativeClick()的作用是什么?它将关闭对话框,