/** * */ package coolbuy360.searchhealth; import coolbuy360.logic.User; import coolbuy360.service.CommandResult; import coolbuy360.service.CommonMethod; import coolbuy360.service.PasswordDigitsKey; import coolbuy360.service.Validator; import coolbuy360.service.searchApp; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Color; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.ForegroundColorSpan; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.Toast; /** * @author yangxc * * ��Ա�һ����� * */ public class MemberResetPwd extends Activity { EditText member_resetpwd_edit_mobile = null; EditText member_resetpwd_edit_email = null; EditText member_resetpwd_edit_newpwd = null; EditText member_resetpwd_edit_renewpwd = null; boolean mobileValidate = false; boolean emailValidate = false; boolean newPwdValidate = false; boolean renewPwdValidate = false; public ProgressDialog pBarcheck; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.member_resetpwd); // Ϊ�˳���׼�� searchApp.getInstance().addActivity(this); ImageButton actionbar_pre_btn = (ImageButton) this .findViewById(R.id.actionbar_pre_btn); actionbar_pre_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub MemberResetPwd.this.finish(); } }); member_resetpwd_edit_mobile = (EditText) this .findViewById(R.id.member_resetpwd_edit_mobile); member_resetpwd_edit_email = (EditText) this .findViewById(R.id.member_resetpwd_edit_email); member_resetpwd_edit_newpwd = (EditText) this .findViewById(R.id.member_resetpwd_edit_newpwd); member_resetpwd_edit_renewpwd = (EditText) this .findViewById(R.id.member_resetpwd_edit_renewpwd); // �����������ַ����� member_resetpwd_edit_newpwd.setKeyListener(new PasswordDigitsKey()); member_resetpwd_edit_renewpwd.setKeyListener(new PasswordDigitsKey()); // ��֤�������ĸ�ʽ�ļ����¼� VaridateEdittxt(); Button member_resetpwd_btn_reset = (Button) this .findViewById(R.id.member_resetpwd_btn_reset); member_resetpwd_btn_reset.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub CommonMethod.clearFocuse(MemberResetPwd.this); if (mobileValidate && emailValidate && newPwdValidate && renewPwdValidate) { new AsyncResetPwd().execute(); } else { if (!mobileValidate) checkMobile(member_resetpwd_edit_mobile); if (!emailValidate) checkEmail(member_resetpwd_edit_email); if (!newPwdValidate) checkNewPwd(member_resetpwd_edit_newpwd); Toast.makeText(MemberResetPwd.this, "���������", Toast.LENGTH_LONG).show(); } } }); ImageButton member_resetpwd_btn_emaildes = (ImageButton) this .findViewById(R.id.member_resetpwd_btn_emaildes); member_resetpwd_btn_emaildes.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String msgString = " ����д���˺�ע��ʱ��д��������˺Ű󶨵������ַ�����������֤��\n ����δ�������ַ����绰��ϵ����ȡ���˺����롣�绰���룺0571-87072025"; Dialog dialog = new AlertDialog.Builder(MemberResetPwd.this) .setTitle("����˵��") .setMessage(msgString) .setPositiveButton("����绰", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Intent intent = new Intent( Intent.ACTION_DIAL, Uri.parse("tel:057187072025")); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); MemberResetPwd.this .startActivity(intent); } }).setCancelable(true) .setNegativeButton("ȷ��", null).show(); } }); } // �ֻ�������֤ private void checkMobile(EditText et) { String input = et.getText().toString(); if (input.length() != 0 && !input.equals("")) { if (!Validator.getValidatorInstance(MemberResetPwd.this) .isMobileNO(input)) { mobileValidate = false; et.setError(changeErrorColor("��������ȷ���ֻ�����")); } else mobileValidate = true; } else { mobileValidate = false; et.setError(changeErrorColor("��������ע����ֻ�����")); } } // ��������֤ private void checkEmail(EditText et) { String input = et.getText().toString(); if (input.length() != 0 && !input.equals("")) { if (!Validator.getValidatorInstance(MemberResetPwd.this).isEmail( input)) { emailValidate = false; et.setError(changeErrorColor("��������ȷ�ĵ�������")); } else emailValidate = true; } else { emailValidate = false; et.setError(changeErrorColor("��������ע��ĵ������������֤")); } } // ��������֤ private void checkNewPwd(EditText et) { String input = et.getText().toString(); int pwdlen = input.length(); if (pwdlen < 6 || pwdlen > 12) { newPwdValidate = false; et.setError(changeErrorColor("���볤��Ϊ6-12���ַ�")); } else { newPwdValidate = true; } String renewpwdinput = member_resetpwd_edit_renewpwd.getText() .toString(); if (input.equals(renewpwdinput)) { renewPwdValidate = true; member_resetpwd_edit_renewpwd.setError(null); } else { renewPwdValidate = false; member_resetpwd_edit_renewpwd.setError(changeErrorColor("���벻һ��")); } } /** * ��֤��Ҫ���ݵ������Լ��� */ private void VaridateEdittxt() { // �ֻ�������֤ member_resetpwd_edit_mobile .setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub EditText et = (EditText) v; if (!hasFocus) { checkMobile(et); } } }); // �������֤ member_resetpwd_edit_email .setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub EditText et = (EditText) v; if (!hasFocus) { checkEmail(et); } } }); // ���������֤ member_resetpwd_edit_newpwd .setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub EditText et = (EditText) v; if (!hasFocus) { checkNewPwd(et); } } }); // �ظ����������֤ member_resetpwd_edit_renewpwd .setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub EditText et = (EditText) v; String input = et.getText().toString(); if (!hasFocus) { String newpwdinput = member_resetpwd_edit_newpwd .getText().toString(); if (!(input.equals(newpwdinput))) { renewPwdValidate = false; et.setError(changeErrorColor("���벻һ��")); } else { renewPwdValidate = true; } } } }); } private SpannableStringBuilder changeErrorColor(String errorMsg) { // int ecolor =R.color.green ; // whatever color you want String estring = errorMsg; ForegroundColorSpan fgcspan = new ForegroundColorSpan(Color.RED); SpannableStringBuilder ssbuilder = new SpannableStringBuilder(estring); ssbuilder.setSpan(fgcspan, 0, estring.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); return ssbuilder; } class AsyncResetPwd extends AsyncTask<String, Void, CommandResult> { @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); pBarcheck = new ProgressDialog(MemberResetPwd.this); pBarcheck.setMessage("������֤����"); pBarcheck.setIndeterminate(true); pBarcheck.setCancelable(true); pBarcheck.show(); } @Override protected CommandResult doInBackground(String... params) { // TODO Auto-generated method stub User user = new User(getBaseContext()); CommandResult result = new CommandResult(false, "δ֪���󣬱���ʧ�ܡ�"); try { result = user.resetPwd(member_resetpwd_edit_mobile.getText() .toString(), member_resetpwd_edit_email.getText() .toString(), member_resetpwd_edit_newpwd.getText() .toString()); return result; } catch (Exception e) { // TODO Auto-generated catch block return result; } } @Override protected void onPostExecute(CommandResult result) { // TODO Auto-generated method stub Dialog dialog; if (result.getResult())// �����¼�ɹ� { pBarcheck.cancel(); member_resetpwd_edit_mobile.setText(""); member_resetpwd_edit_email.setText(""); member_resetpwd_edit_newpwd.setText(""); member_resetpwd_edit_renewpwd.setText(""); dialog = new AlertDialog.Builder(MemberResetPwd.this) .setTitle("���óɹ�") .setMessage("�������óɹ��������������µ�¼�ɡ�") .setPositiveButton("ȷ��", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub MemberResetPwd.this.finish(); } }).setCancelable(true).show(); } else { pBarcheck.cancel(); dialog = new AlertDialog.Builder(MemberResetPwd.this) .setTitle("����ʧ�ܣ�").setMessage(result.getMessage()) .setCancelable(true).setNegativeButton("ȷ��", null) .show(); } } } }