package com.hjx.personalcenter.activity; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.TextView; import com.hjx.personalcenter.R; import com.hjx.personalcenter.customdialog.CitysListDialog; import com.hjx.personalcenter.customdialog.CountryDialog; import com.hjx.personalcenter.customdialog.GradeListDialog; import com.hjx.personalcenter.customdialog.ProvinceListDialog; import com.hjx.personalcenter.customdialog.SchoolListDialog; import com.hjx.personalcenter.db.Content; import com.hjx.personalcenter.db.SaveParam; import com.hjx.personalcenter.http.HttpManager; import com.hjx.personalcenter.interfaces.DialogCallBack; import com.hjx.personalcenter.model.CityInfo; import com.hjx.personalcenter.model.CountyInfo; import com.hjx.personalcenter.model.GradeInfo; import com.hjx.personalcenter.model.ProvinceInfo; import com.hjx.personalcenter.model.SchoolInfo; import com.hjx.personalcenter.util.AlertUtils; import com.hjx.personalcenter.util.GetDevicesUtil; import java.util.ArrayList; /** * 填写注册信息 熊巍 * Created by h on 2017/8/9. */ public class RegisterInfoActivity extends FragmentActivity implements View.OnClickListener, DialogCallBack.GradeCallBack, DialogCallBack.ProvincesCallBack , DialogCallBack.CitysCallBack, DialogCallBack.CountryCallBack, DialogCallBack.SchoolCallBack { private EditText et_username, et_nickname, et_address; private ImageButton username_delete_btn, nickname_delete_btn, address_delete_btn; private TextView et_region, et_grade, et_school; private LinearLayout et_username_layout, et_address_layout; private Button btn_ok; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_registerinfo); SysApplication.getInstance().addActivity(this); initView(); initData(); initLister(); initTextWatch(); } private void initView() { et_username = (EditText) findViewById(R.id.et_username); et_nickname = (EditText) findViewById(R.id.et_nickname); et_address = (EditText) findViewById(R.id.et_address); et_region = (TextView) findViewById(R.id.et_region); et_grade = (TextView) findViewById(R.id.et_grade); et_school = (TextView) findViewById(R.id.et_school); btn_ok = (Button) findViewById(R.id.btn_ok); username_delete_btn = (ImageButton) findViewById(R.id.username_delete_btn); nickname_delete_btn = (ImageButton) findViewById(R.id.nickname_delete_btn); address_delete_btn = (ImageButton) findViewById(R.id.address_delete_btn); et_username_layout = (LinearLayout) findViewById(R.id.et_username_layout); et_address_layout = (LinearLayout) findViewById(R.id.et_address_layout); } private void initData() { if (Content.accountflag == 2) { btn_ok.setText("提交"); et_username_layout.setVisibility(View.GONE); et_address_layout.setVisibility(View.GONE); } } private void initLister() { et_region.setOnClickListener(this); et_grade.setOnClickListener(this); et_school.setOnClickListener(this); btn_ok.setOnClickListener(this); username_delete_btn.setOnClickListener(this); nickname_delete_btn.setOnClickListener(this); address_delete_btn.setOnClickListener(this); } /** * 输入框改变的监听 */ private void initTextWatch() { et_username.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.toString().length() == 0) { username_delete_btn.setVisibility(View.INVISIBLE); } else { username_delete_btn.setVisibility(View.VISIBLE); } } @Override public void afterTextChanged(Editable s) { } }); et_username.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { if (!et_username.getText().toString().isEmpty()) { username_delete_btn.setVisibility(View.VISIBLE); } } else { username_delete_btn.setVisibility(View.INVISIBLE); } } }); et_nickname.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.toString().length() == 0) { nickname_delete_btn.setVisibility(View.INVISIBLE); } else { nickname_delete_btn.setVisibility(View.VISIBLE); } } @Override public void afterTextChanged(Editable s) { } }); et_nickname.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { if (!et_nickname.getText().toString().isEmpty()) { nickname_delete_btn.setVisibility(View.VISIBLE); } } else { nickname_delete_btn.setVisibility(View.INVISIBLE); } } }); et_address.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.toString().length() == 0) { address_delete_btn.setVisibility(View.INVISIBLE); } else { address_delete_btn.setVisibility(View.VISIBLE); } } @Override public void afterTextChanged(Editable s) { } }); et_address.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { if (!et_address.getText().toString().isEmpty()) { address_delete_btn.setVisibility(View.VISIBLE); } } else { address_delete_btn.setVisibility(View.INVISIBLE); } } }); } @Override public void onClick(View v) { String register1 = et_nickname.getText().toString().trim(); String register2 = et_region.getText().toString().trim(); String register3 = et_grade.getText().toString().trim(); String register4 = et_school.getText().toString().trim(); String register5 = et_username.getText().toString().trim(); String register6 = et_address.getText().toString().trim(); switch (v.getId()) { case R.id.et_region: et_school.setText(""); Content.changeadressinfoflag = 1; choiseregion(); break; case R.id.et_grade: et_school.setText(""); Content.changegradeinfoflag = 2; choisegrade(); break; case R.id.et_school: if (TextUtils.isEmpty(register2) || TextUtils.isEmpty(register3)) { AlertUtils.showToast(RegisterInfoActivity.this, "请选择年级和地址"); return; } else { choiseschool(); } break; case R.id.btn_ok: if (Content.accountflag == 2 && (TextUtils.isEmpty(register1) || TextUtils.isEmpty(register2) || TextUtils.isEmpty(register3) || TextUtils.isEmpty(register4))) { AlertUtils.showToast(RegisterInfoActivity.this, "请将必填项填写完整"); return; } else if (Content.accountflag == 1 && (TextUtils.isEmpty(register1) || TextUtils.isEmpty(register2) || TextUtils.isEmpty(register3) || TextUtils.isEmpty(register4) || TextUtils.isEmpty(register5) || TextUtils.isEmpty(register6))) { AlertUtils.showToast(RegisterInfoActivity.this, "请将必填项填写完整"); return; } else { // String register5 = et_username.getText().toString().trim(); // String register6 = et_region.getText().toString().trim(); // String register7 = et_grade.getText().toString().trim(); // String register8 = et_school.getText().toString().trim(); String grade = SaveParam.getInstance().getLoginParam(this, SaveParam.CHILDSGRADENS); if (Content.accountflag == 2) { String accounts = SaveParam.getInstance().getCustomizeParam(RegisterInfoActivity.this, SaveParam.ACCOUNT); String userID = SaveParam.getInstance().getLoginParam(this, "userId"); // if ("2".equals(accounts)){ // grade = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSGRADENS); // } //else { // } String School = SaveParam.getInstance().getLoginParam(this, SaveParam.SCHOOOlID); String regionId = SaveParam.getInstance().getsaveCityParam(this, SaveParam.COUNTRY); String regionId1 = SaveParam.getInstance().getsaveCityParam(this, SaveParam.CITYS); String devicenumber = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber(); if (regionId == null) { regionId = regionId1; } try { Object schoolss; long auserID = Long.parseLong(userID); long grades = Long.parseLong(grade); if (TextUtils.isEmpty(register4)) { schoolss = null; } else { schoolss = Long.parseLong(School); } long regionIds = Long.parseLong(regionId); HttpManager.getInstance().addchildAccountinfo(RegisterInfoActivity.this, auserID, "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2017-08-29/a00de899-2f6d-43fb-9e30-71883842540e.png", register1, grades, schoolss, regionIds, devicenumber, register2); } catch (NumberFormatException e) { e.printStackTrace(); } } else { savedata(); Intent intent = new Intent(); intent.setClass(RegisterInfoActivity.this, ChoiseTextBookActivity.class); startActivity(intent); overridePendingTransition(R.anim.rightin, R.anim.rightout); } } break; case R.id.username_delete_btn: et_username.setText(""); break; case R.id.nickname_delete_btn: et_nickname.setText(""); break; case R.id.address_delete_btn: et_address.setText(""); break; } } private void savedata() { SaveParam.getInstance().saveLoginParam(this, SaveParam.REALNAME, et_username.getText().toString().trim()); SaveParam.getInstance().saveLoginParam(this, SaveParam.NICKNAME, et_nickname.getText().toString().trim()); SaveParam.getInstance().saveLoginParam(this, SaveParam.REGION, et_region.getText().toString().trim()); SaveParam.getInstance().saveLoginParam(this, SaveParam.GRADES, et_grade.getText().toString().trim()); SaveParam.getInstance().saveLoginParam(this, SaveParam.SCHOOL, et_school.getText().toString().trim()); SaveParam.getInstance().saveLoginParam(this, SaveParam.ADDRESS, et_address.getText().toString().trim()); } @Override protected void onResume() { super.onResume(); } //选择地区 private void choiseregion() { ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) RegisterInfoActivity.this).show(getSupportFragmentManager(), "ProvinceListDialog"); } //选择年级 private void choisegrade() { GradeListDialog.getInstance((DialogCallBack.GradeCallBack) this).show(getSupportFragmentManager(), "GradeListDialog"); } //选择学校 private void choiseschool() { SchoolListDialog.getInstance((DialogCallBack.SchoolCallBack) this).show(getSupportFragmentManager(), "SchoolListDialog"); } @Override public void provinceOnItemClick(ArrayList data, int position, int type) { String regionName = data.get(position).getRegionName(); SaveParam.getInstance().saveLoginParam(this, "sheng", regionName); CitysListDialog.getInstance((DialogCallBack.CitysCallBack) this).show(getSupportFragmentManager(), "CitysListDialog"); et_region.setText(""); et_region.setText(regionName); } @Override public void province3OnItemClick(ArrayList data, int position, int type) { String regionName = data.get(position).getName(); et_grade.setText(regionName); } @Override public void province1OnItemClick(ArrayList data, int position, int type) { String regionName = data.get(position).getRegionName(); String provice = SaveParam.getInstance().getLoginParam(this, "sheng"); SaveParam.getInstance().saveLoginParam(this, "shi", regionName); CountryDialog.getInstance((DialogCallBack.CountryCallBack) this).show(getSupportFragmentManager(), "CountryDialog"); et_region.setText(""); et_region.setText(provice + regionName); } @Override public void province2OnItemClick(ArrayList data, int position, int type) { String regionName = data.get(position).getRegionName(); String provices = SaveParam.getInstance().getLoginParam(this, "sheng"); String citys = SaveParam.getInstance().getLoginParam(this, "shi"); et_region.setText(""); et_region.setText(provices + citys + regionName); } @Override public void provinceO4nItemClick(ArrayList data, int position, int type) { String regionName = data.get(position).getSchoolName(); et_school.setText(regionName); } }