1

单击确定后是否有某种方法可以进行验证。我没有关闭它,但是当我单击确定时它会关闭。我编写了一个使用一些编辑文本的自定义 AlertDialog。问题是我无法验证任何东西。如果验证失败,我想更改消息并告诉用户,但它只是关闭。我正在使用 AlertBuilder

        builder.setPositiveButton(DialogInterface.OnClickListener(){
               @Override
                public void onClick(DialogInterface dialog, int which) {
                  // I don't dismiss here.
                }

           }
4

2 回答 2

3

您可以通过覆盖 onClickListener 来做到这一点。诀窍是在创建并显示对话框后获取按钮。

//  Create you dialog here and show it
...
dialog.show();

Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
positiveButton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View onClick) {
        //  Valid checking
        ...

        if (valid) {
            dialog.dismiss();
        } else {
            //  Not valid
        }

    }
});
于 2012-05-30T05:19:08.843 回答
-1

如果你在 onClick 方法中没有写任何内容,无论你是否愿意,它都会拒绝,那么为什么你问这个问题,因为你没有在该方法中写任何东西。因为它是 alertdialog 它将被关闭,如果您不想关闭它,请使用setNeutralButton而不是setPositiveButton。如果您使用中性按钮,它不会关闭

于 2012-05-30T05:28:07.787 回答