Android 对话框不以“cancelable=true”关闭

Android 对话框不以“cancelable=true”关闭,android,android-dialog,Android,Android Dialog,我有一个对话框,如果我点击对话框旁边,它是可取消的。但是在关闭对话框之前,我想检查一个字段,如果检查结果是否定的,那么对话框就不应该关闭。我想,如果我重写onDismiss方法,我可以做到这一点,但它不起作用 我必须重写哪种方法来执行检查并决定对话框应该关闭还是保持打开? 感谢帮助:要在单击按钮时保持对话框打开,必须覆盖DialogInterface.OnShowListener。 检查答案。 您可以使用AlertDialog.BUTTON\u NEGATIVE获取否定按钮,然后自己重写onCl

我有一个对话框,如果我点击对话框旁边,它是可取消的。但是在关闭对话框之前,我想检查一个字段,如果检查结果是否定的,那么对话框就不应该关闭。我想,如果我重写onDismiss方法,我可以做到这一点,但它不起作用

我必须重写哪种方法来执行检查并决定对话框应该关闭还是保持打开?
感谢帮助:

要在单击按钮时保持对话框打开,必须覆盖DialogInterface.OnShowListener。 检查答案。
您可以使用AlertDialog.BUTTON\u NEGATIVE获取否定按钮,然后自己重写onClickListener以防止对话框关闭。

不确定这是最佳解决方案,但您应该能够重写cancel方法并在验证时调用super

@Override
public void cancel() {
    if (YOUR_LOGIC) {
       super.cancel();
    }

    // do nothing
}

我的对话框中没有关闭它的按钮。我正在使用一个DialogFragment,如果我单击对话框旁边,它应该会关闭。因此,如果我单击对话框旁边的话,我需要重写调用dismise的方法。哦……对不起,我假设你使用了AlertDialog。下跪