[英]I want my alert dialog box to trigger and stay showing an error message
如果用戶將名稱字段留空並單擊確定,我希望我的警報對話框觸發並保持顯示錯誤消息,但即使用戶未填寫任何內容並單擊確定,我的對話框也會消失。這是我的代碼。 請給我建議我需要做的更正。
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();
};
});
用這個,
final EditText editText;
final AlertDialog.Builder alert = new AlertDialog.Builder(DemoActivity.this);
alert.setTitle("Enter a name");
alert.setMessage("Enter student Name");
alert.setCancelable(false);
editText = new EditText(DemoActivity.this);
alert.setView(editText);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
final AlertDialog dialogs = alert.create();
dialogs.show();
dialogs.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String value = editText.getText().toString();
if (value.isEmpty()) {
editText.setError("Please enter student name");
}
else{
dialogs.dismiss();
}
}
});
dialogs.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialogs.dismiss();
}
});
if(TextUtils.isEmpty(input.getText().toString().trim())){
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);
}
如果工作請批准
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.