package com.hyrt.cei.ui.personcenter; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.app.Fragment; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.EditText; import android.widget.Toast; import com.hyrt.cei.R; import com.hyrt.cei.application.CeiApplication; import com.hyrt.cei.ui.common.LoginActivity; import com.hyrt.cei.ui.common.RegistActivity; import com.hyrt.cei.util.XmlUtil; import com.hyrt.cei.webservice.service.Service; public class ChangePassword extends Fragment { private ExecutorService executorService = Executors.newFixedThreadPool(1); private EditText oldpassword, password1, password2, et_email, et_card_kind, et_card_num, et_phone_num; private String strid, stroldpassword, strpassword, str_email, str_card_kind, str_card_num, str_phone_num; private int code; private final String ID_TYPES = "身份证学生证工作证士兵证军官证护照"; private final String[] types = { "身份证", "学生证", "工作证", "士兵证", "军官证", "护照" }; private RadioOnClick OnClick = new RadioOnClick(1); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // setContentView(R.layout.changepassword); View view = inflater.inflate(R.layout.changepassword,container, false); init(view); return view; } // @Override // public boolean dispatchKeyEvent(KeyEvent event) { // // TODO Auto-generated method stub // switch (event.getKeyCode()) { // case KeyEvent.KEYCODE_DPAD_CENTER: // case KeyEvent.KEYCODE_ENTER: // return true; // } // return super.dispatchKeyEvent(event); // } private void init(View view) { oldpassword = (EditText)view.findViewById(R.id.changepassword_passwordold); password1 = (EditText) view.findViewById(R.id.changepassword_password1); password2 = (EditText) view.findViewById(R.id.changepassword_password2); et_email = (EditText) view.findViewById(R.id.et_change_email); et_card_kind = (EditText) view.findViewById(R.id.et_card_kind); et_card_num = (EditText) view.findViewById(R.id.et_card_num); et_phone_num = (EditText) view.findViewById(R.id.et_phone_num); et_card_kind.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub AlertDialog ad = new AlertDialog.Builder(ChangePassword.this.getActivity()) .setTitle("选择证件类型") .setSingleChoiceItems(types, OnClick.getIndex(), OnClick).create(); ad.show(); } }); et_card_kind.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AlertDialog ad = new AlertDialog.Builder(ChangePassword.this.getActivity()) .setTitle("选择证件类型") .setSingleChoiceItems(types, OnClick.getIndex(), OnClick).create(); ad.show(); } }); refreshListData(view); } private void refreshListData(View view) { view.findViewById(R.id.changepassword_btn).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { if (!password1.getText().toString().trim() .equals(password2.getText().toString().trim())) { Toast.makeText(ChangePassword.this.getActivity(), "两次输入的新密码必须一致!", Toast.LENGTH_SHORT).show(); return; } else if (oldpassword.getText().toString().trim() .equals("") /* * || password1.getText().toString().trim() .equals("") * || password2.getText().toString().trim() .equals("") */) { Toast.makeText(ChangePassword.this.getActivity(), "原密码不能为空!", Toast.LENGTH_SHORT).show(); return; } else if (!et_email.getText().toString().trim() .equals("") && !et_email.getText().toString().trim() .contains("@")) { // 邮箱格式不对 Toast.makeText(ChangePassword.this.getActivity(), "邮箱格式不对", Toast.LENGTH_SHORT).show(); return; } else if (!et_card_kind.getText().toString().trim() .equals("") && !ID_TYPES.contains(et_card_kind.getText() .toString().trim())) { // 判断身份证类型 Toast.makeText(ChangePassword.this.getActivity(), "身份证类型不对", Toast.LENGTH_SHORT).show(); return; } strid = ((CeiApplication)getActivity().getApplication()).columnEntry .getUserId(); stroldpassword = oldpassword.getText().toString() .trim(); strpassword = password1.getText().toString().trim(); // str_email,str_card_kind,str_card_num,str_card_phone str_email = et_email.getText().toString().trim(); str_card_kind = et_card_kind.getText().toString() .trim(); str_card_num = et_card_num.getText().toString().trim(); str_phone_num = et_phone_num.getText().toString() .trim(); executorService.submit(new Runnable() { @Override public void run() { // TODO Auto-generated method stub String rs = ""; // 增加几个字段 // 判断密码是否修改 if (password1.getText().toString().trim() .equals("") && password2.getText().toString() .trim().equals("")) { strpassword = stroldpassword; } rs = Service.updatePassWord(strid, stroldpassword, strpassword, str_email, str_card_kind, str_card_num, str_phone_num); code = Integer.parseInt(XmlUtil .parseReturnCode(rs).equals("") ? "0" : XmlUtil.parseReturnCode(rs)); Message msg = newsHandler.obtainMessage(); newsHandler.sendMessage(msg); } }); } }); } class RadioOnClick implements DialogInterface.OnClickListener { private int index; public RadioOnClick(int index) { this.index = index; } public void setIndex(int index) { this.index = index; } public int getIndex() { return index; } public void onClick(DialogInterface dialog, int whichButton) { setIndex(whichButton); et_card_kind.setText(types[whichButton]); dialog.dismiss(); } } Handler newsHandler = new Handler() { public void handleMessage(Message msg) { if (code == 1) { Toast.makeText(ChangePassword.this.getActivity(), "修改成功!", Toast.LENGTH_SHORT) .show(); } else if (code == -2) { Toast.makeText(ChangePassword.this.getActivity(), "原密码错误!", Toast.LENGTH_SHORT).show(); } else if (code == 0) { Toast.makeText(ChangePassword.this.getActivity(), "系统错误!", Toast.LENGTH_SHORT) .show(); } else if (code == -1) { Toast.makeText(ChangePassword.this.getActivity(), "网络错误!", Toast.LENGTH_SHORT) .show(); } else if (code == 2) { Toast.makeText(ChangePassword.this.getActivity(), "修改的邮箱名重复,请换一个吧!", Toast.LENGTH_SHORT).show(); } } }; }