我想要显示一个对话框。在对话框外单击时,我希望对话框被取消。但在解除对话之前,我想检查条件,如果正确则关闭对话框,否则如果值不正确则不要忽略它。
任何人都可以帮助我吗?谢谢。
答案 0 :(得分:1)
保持setCancelabe(false);
,直到EditText
中的值不正确为止。使用TextWatcher
检查值,每当您的值正确时,请设置setCancelabe(true);
答案 1 :(得分:0)
使用TextWatcher
输入时,您可以检查值。或者将自定义onClickListener设置为正按钮。
AlertDialog.Builder builder = new AlertDialog.Builder();
// build dialog
AlertDialog dialog = builder.create();
dialog.setOnShowListener(new DialogInterface.OnShowListener(){
@Override
public void onShow(DialogInterface dialogInterface){
((AlertDialog)dialogInterface).getButton(AlertDialog.BUTTON_POSITIVE)
.setOnClickListener(// check value here)
}
}
dialog.show();
请记得在准备好解雇时调用dialogInterface.dismiss()
。