package com.hyrt.cei.ui.common;
import com.hyrt.cei.util.XmlUtil;
import com.hyrt.cei.vo.UserInfo;
import com.hyrt.cei.webservice.service.Service;
import com.hyrt.ceiphone.ContainerActivity;
import com.hyrt.ceiphone.R;
import com.hyrt.ceiphone.WelcomeActivity;
import com.hyrt.ceiphone.common.HomePageDZB;
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.Button;
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 {
private int i1, i2, i3, i4, i5, i6, i7, i8;
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 Button back;
private EditText e1, e2, e3, e4, e5, e6, e7, e8;
// 支持身份证类型
private final String ID_TYPES = "身份证学生证工作证士兵证军官证护照";
private final String[] types = { "身份证", "学生证", "工作证", "士兵证", "军官证","护照" };
private RadioOnClick OnClick = new RadioOnClick(1);
@Override
protected void onDestroy() {
HomePageDZB.commonActivities.remove(this);
super.onDestroy();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(0x1);
super.onCreate(savedInstanceState);
setContentView(R.layout.ui_regist);
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);
e1 = (EditText) findViewById(R.id.regist_1);
e2 = (EditText) findViewById(R.id.regist_2);
e3 = (EditText) findViewById(R.id.regist_3);
e4 = (EditText) findViewById(R.id.regist_4);
e5 = (EditText) findViewById(R.id.regist_5);
e6 = (EditText) findViewById(R.id.regist_6);
e7 = (EditText) findViewById(R.id.regist_7);
e8 = (EditText) findViewById(R.id.regist_8);
back = (Button) findViewById(R.id.ui_back);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(RegistActivity.this,
HomePageDZB.class);
startActivity(intent);
}
});
e1.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus && i1 == 0) {
e1.setText("");
i1++;
}
}
});
e2.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus && i2 == 0) {
e2.setText("");
i2++;
}
}
});
e3.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus && i3 == 0) {
e3.setText("");
i3++;
}
}
});
e4.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus && i4 == 0) {
e4.setText("");
i4++;
}
}
});
e5.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus && i5 == 0) {
e5.setText("");
i5++;
}
}
});
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();
}
});
e7.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus && i7 == 0) {
e7.setText("");
i7++;
}
}
});
e8.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if (hasFocus && i8 == 0) {
e8.setText("");
i8++;
}
}
});
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(); i++) {
String editTextVal = "";
if (i != 5) {
RelativeLayout editParent = (RelativeLayout) editParents
.getChildAt(i);
editTextVal = ((EditText) editParent
.getChildAt(0)).getText().toString()
.trim();
if (((EditText) editParent.getChildAt(0))
.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:
LinearLayout editParent = (LinearLayout) editParents
.getChildAt(i);
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(0))
.getText()
.toString()
.trim()
.equals(((EditText) ((RelativeLayout) editParents
.getChildAt(2)).getChildAt(0))
.getText().toString().trim())) {
Toast.makeText(RegistActivity.this, "两次输入的密码不一致!",
Toast.LENGTH_SHORT).show();
return;
}
if (!((EditText) ((RelativeLayout) editParents
.getChildAt(4)).getChildAt(0)).getText()
.toString().trim().contains("@")) {
Toast.makeText(RegistActivity.this, "邮箱格式不对!",
Toast.LENGTH_SHORT).show();
return;
}
if (!ID_TYPES
.contains(((EditText) ((RelativeLayout) editParents
.getChildAt(6)).getChildAt(0))
.getText().toString().trim())) {
Toast.makeText(RegistActivity.this, "身份证类型不对!",
Toast.LENGTH_SHORT).show();
return;
}
Message message = handler.obtainMessage();
message.arg1 = SAVE_USER;
handler.sendMessage(message);
}
});
}
@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();
}
}
}