在我的应用程序中,我创建了一个对话框来接受密码。在对话框中存在一条消息、一个 EditText 和两个按钮(一个 +ve 和一个 -ve)。当用户单击 +ve 按钮时,我正在检查在 EditText 中输入的密码是否有效。如果无效,我必须更改提示用户重新输入密码的对话框的消息。
如果密码有效,它会按预期工作,但它是无效的,而不是更新消息,它只是关闭对话框。
我已经尝试通过覆盖onPrepareDialog()来解决它,但它也不起作用。
这是我的代码:
protected Dialog onCreateDialog(int viewId){
AlertDialog dialog = null;
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Enter Password To Continue");
final EditText passwordField = new EditText(getApplicationContext());
builder.setView(passwordField);
builder.setPositiveButton("SUBMIT", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(passwordField.getText().toString().equals("password")){
Intent intent = new Intent(MyFirstActivity.this, NextActivity.class);
finish();
startActivity(intent);
}else{
//Here I need to update the message
builder.setMessage("SORRY!!! Wrong Password Entered.\n Re-Enter Correct Password Again ");
}
}
});
builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
dialog = builder.create();
}
return dialog;
}