package com.hyrt.cei.ui.common; import com.hyrt.cei.R; import com.hyrt.cei.dzb.ui.HomePageDZB; import com.hyrt.cei.ui.main.Announcement; import com.hyrt.cei.ui.main.Disclaimer; import com.hyrt.cei.ui.personcenter.PersonCenter; import com.hyrt.cei.ui.witsea.WitSeaActivity; import com.hyrt.cei.util.XmlUtil; import com.hyrt.cei.vo.UserInfo; import com.hyrt.cei.webservice.service.Service; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.WindowManager; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; /** * 注册界面 * */ public class RegistActivity extends Activity implements OnClickListener{ private final static int REPEAT_USER = 1; private final static int SAVE_USER = 2; private final static int SAVE_SUCCESS = 3; private final static int NO_NET = 4; private final static int REPEAT_EMAIL = 5; private final String[] types = { "身份证", "学生证", "工作证", "士兵证", "军官证","护照" }; private RadioOnClick OnClick = new RadioOnClick(1); private EditText e6; // 用户名 private String loginName; //支持身份证类型 private final String ID_TYPES = "身份证学生证工作证士兵证军官证护照"; @Override protected void onDestroy() { HomePageDZB.commonActivities.remove(this); super.onDestroy(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ui_regist); e6 = (EditText) findViewById(R.id.regist_6); e6.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // TODO Auto-generated method stub AlertDialog ad = new AlertDialog.Builder(RegistActivity.this) .setTitle("选择证件类型") .setSingleChoiceItems(types, OnClick.getIndex(), OnClick).create(); ad.show(); } }); e6.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AlertDialog ad = new AlertDialog.Builder(RegistActivity.this) .setTitle("选择证件类型") .setSingleChoiceItems(types, OnClick.getIndex(), OnClick).create(); ad.show(); } }); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); for (int i = 0; i < HomePageDZB.commonActivities.size(); i++) { try { RegistActivity isRegistActivity = (RegistActivity) ( HomePageDZB.commonActivities.get(i)); isRegistActivity.finish(); } catch (Exception e) { } } HomePageDZB.commonActivities.add(this); findViewById(R.id.ui_regist_regist).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(RegistActivity.this, LoginActivity.class); startActivity(intent); } }); findViewById(R.id.ui_regist_login).setOnClickListener( new OnClickListener() { private Handler handler; private UserInfo userInfo = new UserInfo(); @Override public void onClick(View v) { handler = new Handler() { @Override public void dispatchMessage(final Message msg) { switch (msg.arg1) { case SAVE_USER: new Thread(new Runnable() { @Override public void run() { String rs = Service .saveUserInfo(userInfo); if (XmlUtil.parseReturnCode(rs) .equals("1")) { Message message = handler .obtainMessage(); message.arg1 = REPEAT_USER; handler.sendMessage(message); } else if (XmlUtil.parseReturnCode(rs) .equals("2")) { Message message = handler .obtainMessage(); message.arg1 = REPEAT_EMAIL; handler.sendMessage(message); } else if (XmlUtil.parseReturnCode( rs).equals("-1")) { Message message = handler .obtainMessage(); message.arg1 = NO_NET; handler.sendMessage(message); } else { Message message = handler .obtainMessage(); message.arg1 = SAVE_SUCCESS; SharedPreferences settings = getSharedPreferences( "loginInfo", Activity.MODE_PRIVATE); SharedPreferences.Editor editor = settings .edit(); editor.putString("LOGINNAME", userInfo.getLoginName()); editor.putString("PASSWORD", userInfo.getPassword()); editor.commit(); handler.sendMessage(message); } } }).start(); break; case REPEAT_USER: Toast.makeText(RegistActivity.this, "用户名重复!", Toast.LENGTH_SHORT) .show(); break; case SAVE_SUCCESS: Toast.makeText(RegistActivity.this, "注册成功!", Toast.LENGTH_SHORT).show(); RegistActivity.this.finish(); break; case NO_NET: Toast.makeText(RegistActivity.this, "网络有问题!", Toast.LENGTH_SHORT) .show(); break; case REPEAT_EMAIL: Toast.makeText(RegistActivity.this, "邮箱重复,请换一个邮箱吧!", Toast.LENGTH_SHORT) .show(); break; } } }; LinearLayout editParents = (LinearLayout) findViewById(R.id.ui_regist_etparent); for (int i = 0; i < editParents.getChildCount() - 1; i++) { String editTextVal = ""; RelativeLayout editParent = (RelativeLayout) editParents .getChildAt(i); if (i != 5) { editTextVal = ((EditText) editParent .getChildAt(1)).getText().toString() .trim(); if (((EditText) editParent.getChildAt(1)) .getText() == null || editTextVal.equals("")) { if (editParent.getChildCount() == 3) { Toast.makeText( RegistActivity.this, ((TextView) editParent .getChildAt(0)) .getText() .toString() .trim() .subSequence( 0, ((TextView) editParent .getChildAt(0)) .getText() .toString() .trim() .length() - 1) + "不能为空!", Toast.LENGTH_SHORT).show(); return; } } } switch (i) { case 0: userInfo.setLoginName(editTextVal); break; case 1: userInfo.setPassword(editTextVal); break; case 3: userInfo.setName(editTextVal); break; case 4: userInfo.setEmail(editTextVal); break; case 5: RadioGroup sexgr = (RadioGroup) editParent .getChildAt(1); RadioButton sexrb = (RadioButton) sexgr.getChildAt(0); if (sexrb.isChecked()) userInfo.setSex(1); else userInfo.setSex(0); break; case 6: userInfo.setIdType(editTextVal); break; case 7: userInfo.setIdNum(editTextVal); break; case 8: userInfo.setPhoneNum(editTextVal); break; } } if (!((EditText) ((RelativeLayout) editParents .getChildAt(1)).getChildAt(1)) .getText() .toString() .trim() .equals(((EditText) ((RelativeLayout) editParents .getChildAt(2)).getChildAt(1)) .getText().toString().trim())) { Toast.makeText(RegistActivity.this, "两次输入的密码不一致!", Toast.LENGTH_SHORT).show(); return; } if (!((EditText) ((RelativeLayout) editParents .getChildAt(4)).getChildAt(1)).getText() .toString().trim().contains("@")) { Toast.makeText(RegistActivity.this, "邮箱格式不对!", Toast.LENGTH_SHORT).show(); return; } if (!ID_TYPES.contains(((EditText) ((RelativeLayout) editParents .getChildAt(6)).getChildAt(1)).getText() .toString().trim())) { Toast.makeText(RegistActivity.this, "身份证类型不对!", Toast.LENGTH_SHORT).show(); return; } Message message = handler.obtainMessage(); message.arg1 = SAVE_USER; handler.sendMessage(message); } }); SharedPreferences settings = getSharedPreferences("loginInfo", Activity.MODE_PRIVATE); loginName = settings.getString("LOGINNAME", ""); registBottomEvent(); } @Override public void onClick(View view) { Intent intent = null; switch (view.getId()) { case R.id.home_announcement: intent = new Intent(this, Announcement.class); if (!loginName.equals("")) startActivity(intent); break; case R.id.home_witsea: intent = new Intent(this, WitSeaActivity.class); if (!loginName.equals("")) startActivity(intent); break; case R.id.home_ceinet: intent = new Intent(this, WebViewUtil.class); intent.putExtra("path", "http://mob.cei.gov.cn/"); startActivity(intent); break; case R.id.home_personcenter: intent = new Intent(this, PersonCenter.class); if (!loginName.equals("")) startActivity(intent); break; case R.id.home_disclaimer: intent = new Intent(this, Disclaimer.class); startActivity(intent); break; case R.id.back_back: RegistActivity.this.finish(); break; } } private void registBottomEvent(){ // findViewById(R.id.home_announcement).setOnClickListener(this); // findViewById(R.id.home_witsea).setOnClickListener(this); // findViewById(R.id.home_ceinet).setOnClickListener(this); // findViewById(R.id.home_personcenter).setOnClickListener(this); // findViewById(R.id.home_disclaimer).setOnClickListener(this); findViewById(R.id.back_back).setOnClickListener(this); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); RegistActivity.this.finish(); } 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); e6.setText(types[whichButton]); dialog.dismiss(); } } }