【发布时间】:2020-01-17 10:26:35
【问题描述】:
如果用户将名称字段留空并单击确定,我希望我的警报对话框触发并保持显示错误消息,但即使用户未填写任何内容并单击确定,我的对话框也会消失。这是我的代码。请建议我需要做的更正。
save2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final dbmanager db= new dbmanager(cgpa3.this);
final AlertDialog.Builder alert = new AlertDialog.Builder(cgpa3.this);
// alert.setTitle("Enter a name");
alert.setMessage("Enter student Name");
// Set an EditText view to get user input
final EditText input = new EditText(cgpa3.this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText().toString();
if(value.isEmpty()){
Animation shake = AnimationUtils.loadAnimation(cgpa3.this, R.anim.shake);
input.startAnimation(shake);
input.setError("Please enter student name");
}
else
{db.addRecord1(value,textView39.getText(),textView40.getText(),no_of_sem);
}
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
alert.show();
};
});
【问题讨论】:
-
为您的对话框使用 .setCancelable(false)。它不会消失。除非你打电话给dismiss
-
这能回答你的问题吗? Validation on EditText in alertDialog