package com.andbase.login; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import com.ab.activity.AbActivity; import com.ab.model.AbResult; import com.ab.task.AbTaskItem; import com.ab.task.AbTaskObjectListener; import com.ab.task.thread.AbTaskPool; import com.ab.util.AbDialogUtil; import com.ab.util.AbStrUtil; import com.ab.util.AbToastUtil; import com.ab.view.titlebar.AbTitleBar; import com.andbase.R; import com.andbase.global.MyApplication; public class FindPwdActivity extends AbActivity { private MyApplication application; private EditText userName = null; private EditText email = null; private ImageButton mClear1; private ImageButton mClear2; private String mStr_name = null; private String mStr_email = null; private AbTaskPool mAbTaskPool = null; private AbTitleBar mAbTitleBar = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setAbContentView(R.layout.find_pwd); application = (MyApplication) abApplication; mAbTitleBar = this.getTitleBar(); mAbTitleBar.setTitleText(R.string.register_name); mAbTitleBar.setLogo(R.drawable.button_selector_back); mAbTitleBar.setTitleBarBackground(R.drawable.top_bg); mAbTitleBar.setTitleTextMargin(10, 0, 0, 0); mAbTitleBar.setLogoLine(R.drawable.line); //设置AbTitleBar在最上 this.setTitleBarOverlay(true); mAbTaskPool = AbTaskPool.getInstance(); userName = (EditText) this.findViewById(R.id.userName); email = (EditText) this.findViewById(R.id.email); mClear1 = (ImageButton) findViewById(R.id.clearName); mClear2 = (ImageButton) findViewById(R.id.clearEmail); userName.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { String str = userName.getText().toString().trim(); int length = str.length(); if (length > 0) { mClear1.setVisibility(View.VISIBLE); if (!AbStrUtil.isNumberLetter(str)) { str = str.substring(0, length - 1); userName.setText(str); String str1 = userName.getText().toString().trim(); userName.setSelection(str1.length()); AbToastUtil.showToast(FindPwdActivity.this,R.string.error_name_expr); } mClear1.postDelayed(new Runnable() { @Override public void run() { mClear1.setVisibility(View.INVISIBLE); } }, 5000); } else { mClear1.setVisibility(View.INVISIBLE); } } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void afterTextChanged(Editable s) { } }); email.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { String str = email.getText().toString().trim(); int length = str.length(); if (length > 0) { mClear2.setVisibility(View.VISIBLE); if(AbStrUtil.isContainChinese(str)){ str = str.substring(0, length-1); email.setText(str); String str1 = email.getText().toString().trim(); email.setSelection(str1.length()); AbToastUtil.showToast(FindPwdActivity.this,R.string.error_email_expr2); } mClear2.postDelayed(new Runnable(){ @Override public void run() { mClear2.setVisibility(View.INVISIBLE); } }, 5000); } else { mClear2.setVisibility(View.INVISIBLE); } } public void beforeTextChanged(CharSequence s, int start, int count, int after) { } public void afterTextChanged(Editable s) { } }); mClear1.setOnClickListener(new OnClickListener() { public void onClick(View v) { userName.setText(""); } }); mClear2.setOnClickListener(new OnClickListener() { public void onClick(View v) { email.setText(""); } }); Button findPwdBtn = (Button) findViewById(R.id.findPwdBtn); findPwdBtn.setOnClickListener(new FindPwdOnClickListener()); } public class FindPwdOnClickListener implements View.OnClickListener { @Override public void onClick(View v) { mStr_name = userName.getText().toString().trim(); mStr_email = email.getText().toString().trim(); if (TextUtils.isEmpty(mStr_name)) { AbToastUtil.showToast(FindPwdActivity.this,R.string.error_name); userName.setFocusable(true); userName.requestFocus(); return; } if (!AbStrUtil.isNumberLetter(mStr_name)) { AbToastUtil.showToast(FindPwdActivity.this,R.string.error_name_expr); userName.setFocusable(true); userName.requestFocus(); return; } if (AbStrUtil.strLength(mStr_name) < 3) { AbToastUtil.showToast(FindPwdActivity.this,R.string.error_name_length1); userName.setFocusable(true); userName.requestFocus(); return; } if (AbStrUtil.strLength(mStr_name) > 20) { AbToastUtil.showToast(FindPwdActivity.this,R.string.error_name_length2); userName.setFocusable(true); userName.requestFocus(); return; } if (!TextUtils.isEmpty(mStr_email)) { if (!AbStrUtil.isEmail(mStr_email)) { AbToastUtil.showToast(FindPwdActivity.this,R.string.error_email_expr); email.setFocusable(true); email.requestFocus(); return; } }else{ AbToastUtil.showToast(FindPwdActivity.this,R.string.error_email); email.setFocusable(true); email.requestFocus(); } AbDialogUtil.showProgressDialog(FindPwdActivity.this,R.drawable.progress_circular,"正在找回..."); final AbTaskItem item = new AbTaskItem(); item.setListener(new AbTaskObjectListener() { @Override public void update(Object obj) { AbDialogUtil.removeDialog(FindPwdActivity.this); AbResult mAbResult = (AbResult)obj; if(mAbResult != null){ AbToastUtil.showToast(FindPwdActivity.this,mAbResult.getResultMessage()); if(mAbResult.getResultCode()==AbResult.RESULT_OK){ finish(); } } } @Override public Object getObject() { AbResult mAbResult = null; try { mAbResult = new AbResult(); mAbResult.setResultMessage("ok"); } catch (Exception e){ AbToastUtil.showToastInThread(FindPwdActivity.this,e.getMessage()); } return mAbResult; }; }); mAbTaskPool.execute(item); } } }