【发布时间】:2015-11-12 00:19:30
【问题描述】:
我正在尝试在提交表单之前进行密码检查,但我没有得到想要的行为。基本上,无论用户为任一字段输入什么内容,它都会从 mConfirmPasswordField 提交新密码。我想要发生的是,如果密码不匹配,因此 if (!(mNewPassword.equals(mConfirmPassword)),则会显示一个警报对话框,仅此而已。基于下面的代码,这似乎应该是这种情况,但它只是将新密码保存给用户。我在这里做错了什么?
mNewPasswordField = (EditText)findViewById(R.id.newPassword);
mConfirmPasswordField = (EditText)findViewById(R.id.newPasswordAgain);
final String mNewPassword = mNewPasswordField.getText().toString();
final String mConfirmPassword = mConfirmPasswordField.getText().toString();
mNewPasswordField.setText(mNewPassword);
mConfirmPasswordField.setText(mConfirmPassword);
Button mButton = (Button) findViewById(R.id.submitPasswordChanges);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!(mNewPassword.equals(mConfirmPassword))) {
AlertDialog.Builder builder = new AlertDialog.Builder(ChangePasswordActivity.this);
builder.setMessage("Please check that you've entered and confirmed your new password!")
.setTitle("Error:")
.setPositiveButton(android.R.string.ok, null);
AlertDialog dialog = builder.create();
dialog.show();
} else {
setProgressBarIndeterminateVisibility(true);
//Update user
ParseUser user = ParseUser.getCurrentUser();
user.setPassword(mConfirmPasswordField.getText().toString());
user.saveInBackground(new SaveCallback() {
public void done(com.parse.ParseException e) {
// TODO Auto-generated method stub
LaunchPersonalGalleryIntent();
}
});
}
}
【问题讨论】:
-
您的意思是从未显示任何对话框?
-
我只是想要它,以便只有在密码不同时才会出现对话框。我猜它认为密码字段包含相同的字符串,因为它们没有在 onClick 中更新。
标签: java android parse-platform passwords