public void onClick(View v) {
// 获取数据
// 保存除了密码之外的其他信息
if (!password01.equals("")) {
if (password01.equals(password02)) {
if (password01.length() >= 6 && password01.length() <= 18) {
// 获取到密码,并且符合更改密码的操作条件,进行对密码的加密,并将新密码存储到之前的用户数据模型中
}
} else {
// 提示密码长度不足并阻止提交操作
}
} else {
// 提示两次密码不一致并阻止提交操作
}
} else {
// 提示密码为空并询问是否继续提交,如果用户选择提交,就直接执行,不提交则阻止提交操作
}
// 在这里进行更新数据库操作,并提示用户修改成功
}
});
在用户不输入密码的情况下,理想中应该是先提示不会进行改密码操作,询问用户是要进行改密码还是继续,但是这里却先是显示了修改成功,再询问用户要不要改密码,请问应该怎么调整一下这两个AlertDialog的顺序?
源码在底下
public void onClick(View v) {
// 获取需要修改的数据
String username = txbUsername.getText().toString();
String password01 = txbPassword01.getText().toString();
String password02 = txbPassword02.getText().toString();
// 利用二元运算符对性别进行设置
Sex sex = rogSex.getCheckedRadioButtonId() == R.id.rdoMale ? Sex.MALE : Sex.FEMALE;
String region = cmbRegion.getSelectedItem().toString();
// 保存除了密码之外的其他信息
helper.openWriteLink();
userTmp = helper.queryById(uuid);
userTmp.setUsername(username);
userTmp.setSex(sex);
userTmp.setRegion(region);
if (!password01.equals("")) {
if (password01.equals(password02)) {
if (password01.length() >= 6 && password01.length() <= 18) {
try {
userTmp.setPassword(EncryptUtil.md5(password01));
} catch (Exception e) {
Toast.makeText(thisContext, "出现了问题", Toast.LENGTH_SHORT).show();
Log.e("ERROR", "error --- >" + e.toString());
}
} else {
AlertDialog alert = AlertDialogUtil.initAlertDialog(thisContext,
"密码长度错误!", "您的密码长度应该在6-18位之间,请您重新输入", R.drawable.error);
alert.setButton(DialogInterface.BUTTON_POSITIVE, "好的", (DialogInterface.OnClickListener) null);
alert.show();
return;
}
} else {
AlertDialog alert = AlertDialogUtil.initAlertDialog(thisContext,
"两次密码不一致!", "您输入的两次密码不一致,请重新输入", R.drawable.error);
alert.setButton(DialogInterface.BUTTON_POSITIVE, "好的", (DialogInterface.OnClickListener) null);
alert.show();
return;
}
} else {
AlertDialog alertNoPassword = AlertDialogUtil.initAlertDialog(thisContext,
"密码为空!", "由于密码为空,则当前不进行更新密码操作", R.drawable.caution_filled);
alertNoPassword.setButton(DialogInterface.BUTTON_POSITIVE, "好的", (DialogInterface.OnClickListener) null);
alertNoPassword.setButton(DialogInterface.BUTTON_NEGATIVE, "改密", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alertNoPassword.show();
}
helper.update(userTmp, String.format("uuid = '%s'", uuid));
AlertDialog alert = AlertDialogUtil.initAlertDialog(thisContext,
"数据修改成功!", "恭喜您成功完成了操作!", R.drawable.benefits);
alert.setButton(DialogInterface.BUTTON_POSITIVE, "好的", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String id = shared.getString("uuid", "");
currentUser = helper.queryById(id);
String[] arrayRegions = getResources().getStringArray(R.array.array_regions);
txbUsername.setText(currentUser.getUsername());
switch (currentUser.getSex()) {
case MALE:
rogSex.check(R.id.rdoMale);
break;
case FEMALE:
rogSex.check(R.id.rdoFemale);
break;
}
txbPassword01.setHint("您已经设置好了密码,需要修改密码请在两个密码框输入您的新密码!");
txbPassword02.setHint("您已经设置好了密码,需要修改密码请在两个密码框输入您的新密码!");
txbPassword01.setText("");
txbPassword02.setText("");
int position = -1;
for (int i = 0; i < arrayRegions.length; i++) {
if (currentUser.getRegion().equals(arrayRegions[i])) {
position = i;
break;
}
}
cmbRegion.setSelection(position == -1 ? 0 : position);
}
});
alert.show();
}
});