我有一个对话框,如果点击我的对话框旁边的话就可以取消对话框。但在关闭对话框之前,我想检查一个字段,如果检查结果是否定的,那么对话框不应该关闭。我想,我可以这样做,如果我重写onDismiss()方法,但它不起作用。对话框不能用“cancelable = true”关闭
如果对话框应该关闭或保持打开状态,我必须覆盖哪个方法来执行检查并决定? 感谢您的帮助:)
我有一个对话框,如果点击我的对话框旁边的话就可以取消对话框。但在关闭对话框之前,我想检查一个字段,如果检查结果是否定的,那么对话框不应该关闭。我想,我可以这样做,如果我重写onDismiss()方法,但它不起作用。对话框不能用“cancelable = true”关闭
如果对话框应该关闭或保持打开状态,我必须覆盖哪个方法来执行检查并决定? 感谢您的帮助:)
要保持单击按钮时打开对话框,您必须重写DialogInterface.OnShowListener。
检查答案Here。
您可以使用AlertDialog.BUTTON_NEGATIVE获取否定按钮,然后自己覆盖onClickListener以防止对话框消失。
不确定这是最好的解决方案,但您应该可以覆盖cancel
方法,并在验证时调用超级方法。
@Override
public void cancel() {
if (YOUR_LOGIC) {
super.cancel();
}
// do nothing
}
我的对话框中没有用于关闭它的按钮。我正在使用一个DialogFragment,它应该关闭,如果我点击旁边的对话框。所以我需要重写方法,这是调用dismiss(),如果我点击旁边的对话框。 – user3621165
哦...对不起,我假设你使用AlertDialog。 ORZ – chartsai