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

时间:2014-05-11 13:47:59

标签: android android-dialog

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

如果对话框应关闭或保持打开状态,我必须覆盖哪个方法来进行检查并确定? 感谢您的帮助:)

2 个答案:

答案 0 :(得分:0)

要在单击按钮时保持对话框打开,必须覆盖DialogInterface.OnShowListener。
检查答案Here 您可以使用AlertDialog.BUTTON_NEGATIVE获取否定按钮,然后自己覆盖onClickListener以防止对话框被解雇。

答案 1 :(得分:0)

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

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

    // do nothing
}