80,349
社区成员
发帖
与我相关
我的任务
分享
AlertDialog changePwdDialog;
EditText etOldPwd, etNewPwd, etNewPwdSure;
private void showChangePWDDialog(){
View changePwdEdit = LayoutInflater.from(mContext).inflate(R.layout.dialog_change_password, null);
etOldPwd = (EditText) changePwdEdit.findViewById(R.id.et_dialog_oldpwd);
etNewPwd = (EditText) changePwdEdit.findViewById(R.id.et_dialog_newpwd);
etNewPwdSure = (EditText) changePwdEdit.findViewById(R.id.et_dialog_newpwdSure);
changePwdDialog = new AlertDialog.Builder(mContext)
.setTitle("修改密码")
.setView(changePwdEdit)
.setNegativeButton("取消", null)
.setPositiveButton("提交", null)
.create();
changePwdDialog.show();
changePwdDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
verificationPwd(etOldPwd.getText().toString()
, etNewPwd.getText().toString()
, etNewPwdSure.getText().toString());
}
});
}
private void verificationPwd(final String oldPwdStr, final String newPwdStr, final String newPwdSureStr){
if (CheckUtil.isBlank(oldPwdStr)){
etOldPwd.setError("请填写旧密码");
return;
}
if (CheckUtil.isBlank(newPwdStr)){
etNewPwd.setError("请填写新密码");
return;
}
if (CheckUtil.isBlank(newPwdSureStr)){
etNewPwdSure.setError("请确认新密码");
return;
}
if (!CheckUtil.equal(newPwdStr, newPwdSureStr)){
etNewPwdSure.setError("两次新密码输入不一致");
return;
}
if (CheckUtil.equal(oldPwdStr, newPwdStr)){
etNewPwd.setError("新、旧密码不能相同");
return;
}
DialogUtil.showProgressDialog(mContext, "正在修改...");
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
logger.i("SettingActivity : ChangePwd = " + response);
DialogUtil.disMissProgress();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
DialogUtil.disMissProgress();
showToast("修改密码失败");
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError{
Map<String, String> paramMap = new HashMap<>();
paramMap.put("_userId", CheckUtil.reform(mPrefHelper.read("_userId")));
paramMap.put("password", getMd5PwdStr(oldPwdStr));
paramMap.put("newpassword", getMd5PwdStr(newPwdStr));
paramMap.put("confirmpassword", getMd5PwdStr(newPwdSureStr));
return getParams();
}
};
mRequestQueue.add(stringRequest);
}
private String getMd5PwdStr(String pwd){
pwd = MD5.encrptMD5(pwd, MD5.UTF8);
return pwd;
}
E/AndroidRuntime: FATAL EXCEPTION: Thread-1360
Process: com.szfore.nwmlearning, PID: 26022
java.lang.StackOverflowError: stack size 1036KB
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1649)
at java.security.Provider$Service.newInstanceNoParameter(Provider.java:1123)
at java.security.Provider$Service.newInstance(Provider.java:1092)
at org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:141)
at java.security.MessageDigest.getInstance(MessageDigest.java:91)
at com.szfore.nwmlearning.utils.MD5.encrptMD5(MD5.java:20)