当我点击OK按钮时,Android AlertDialog总是退出

当我点击OK按钮时,Android AlertDialog总是退出,android,Android,是否有方法在单击“确定”时进行验证。我并没有拒绝它,但当我点击Ok时它会关闭。我编写了一个自定义的AlertDialog,它使用一些编辑文本。问题是我不能验证任何东西。若验证失败,我想更改消息并告诉用户,但它只是关闭。我正在使用AlertBuilder builder.setPositiveButton(DialogInterface.OnClickListener(){ @Override public void o

是否有方法在单击“确定”时进行验证。我并没有拒绝它,但当我点击Ok时它会关闭。我编写了一个自定义的AlertDialog,它使用一些编辑文本。问题是我不能验证任何东西。若验证失败,我想更改消息并告诉用户,但它只是关闭。我正在使用AlertBuilder

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

           }

可以通过重写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
        }

    }
});

如果您在onClick方法中没有写入任何内容,那么无论您是否想要,它都会忽略,那么既然您没有在该方法中写入任何内容,为什么还要问这个问题呢。由于它是alertdialog,它将关闭,如果您不想关闭它,请使用setNeutralButton而不是setPositiveButton。如果您使用中性按钮,它将不会关闭。

您可以显示一些代码吗?…请暂停以上评论…发布您的答案。除了-1setNeutralButton还可以写其他内容-1setNeutralButton也会自动关闭,但不足以仅使用neutral。然后不要使用Alert对话框,而是创建自己的自定义对话框使用AlertDialog可能有原因。。。这就是我所说的,也可能有原因,当你不只是想提示用户,当你想让用户输入一些东西并在里面操纵输入,但你想在同一个对话框上显示输出,那么它不再是一个警告对话框,它只是一个对话框,警报对话框用于向用户发出警报。就像我们可以创建一个登录对话框一样,它应该在自定义对话框中,而不是在警报对话框中,并且它可以为您提供所有自定义内容,您可以使用与自定义列表视图相同的视图。可能在显示之后,而不仅仅是在生成器之后。create()?现在似乎可以工作了,因为我将上述代码放在dialog.show()之后