package com.yyquan.jzh.fragment.regster; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.Fragment; import android.text.Editable; import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.loopj.android.http.AsyncHttpClient; import com.loopj.android.http.AsyncHttpResponseHandler; import com.loopj.android.http.RequestParams; import com.yyquan.jzh.R; import com.yyquan.jzh.activity.PhoneRegsterActivity; import com.yyquan.jzh.entity.Ip; import com.yyquan.jzh.location.Location; import com.yyquan.jzh.view.DialogView; import org.json.JSONException; import org.json.JSONObject; import cn.pedant.SweetAlert.SweetAlertDialog; import cn.smssdk.SMSSDK; import cz.msebera.android.httpclient.Header; /** * Created by jzh on 2015/9/29. */ public class PhoneRegsterToMessageFragment extends Fragment implements View.OnClickListener { View view; LinearLayout ll_woman; LinearLayout ll_man; TextView tv_woman; TextView tv_man; TextView tv_enter; EditText et_nickname; EditText et_password; EditText et_password_again; String sex = "女"; String nickname; String password; String password_again; String location; String city; boolean bool_nickname; boolean bool_password; boolean bool_password_again; private String url = Ip.ip + "/YfriendService/DoGetUser"; private Location lt; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (view == null) { DialogView.Initial(getActivity(),"正在注册......"); lt=new Location(getActivity()); view = inflater.inflate(R.layout.fragment_phone_regster_message, container, false); tv_woman = (TextView) view.findViewById(R.id.phone_regster_textview_woman); tv_man = (TextView) view.findViewById(R.id.phone_regster_textview_man); tv_enter = (TextView) view.findViewById(R.id.phone_regster_textview_enter); tv_enter.setEnabled(false); ll_woman = (LinearLayout) view.findViewById(R.id.phone_regster_layout_woman); ll_man = (LinearLayout) view.findViewById(R.id.phone_regster_layout_man); et_nickname = (EditText) view.findViewById(R.id.phone_regster_editText_nickname); 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) { } @Override public void afterTextChanged(Editable s) { if (s.toString().length() > 0) { bool_nickname = true; } else { bool_nickname = false; } if (bool_nickname && bool_password && bool_password_again) { tv_enter.setEnabled(true); tv_enter.setBackgroundResource(R.drawable.shape_login_textview_focused); } else { tv_enter.setEnabled(false); tv_enter.setBackgroundResource(R.drawable.shape_login_textview_nomal); } } }); et_password = (EditText) view.findViewById(R.id.phone_regster_editText_password); et_password.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) { } @Override public void afterTextChanged(Editable s) { if (s.toString().length() > 0) { bool_password = true; } else { bool_password = false; } if (bool_nickname && bool_password && bool_password_again) { tv_enter.setEnabled(true); tv_enter.setBackgroundResource(R.drawable.shape_login_textview_focused); } else { tv_enter.setEnabled(false); tv_enter.setBackgroundResource(R.drawable.shape_login_textview_nomal); } } }); et_password_again = (EditText) view.findViewById(R.id.phone_regster_editText_password_again); et_password_again.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) { } @Override public void afterTextChanged(Editable s) { if (s.toString().length() > 0) { bool_password_again = true; } else { bool_password_again = false; } if (bool_nickname && bool_password && bool_password_again) { tv_enter.setEnabled(true); tv_enter.setBackgroundResource(R.drawable.shape_login_textview_focused); } else { tv_enter.setEnabled(false); tv_enter.setBackgroundResource(R.drawable.shape_login_textview_nomal); } } }); ll_woman.setOnClickListener(this); ll_man.setOnClickListener(this); tv_enter.setOnClickListener(this); } return view; } @Override public void onDestroyView() { super.onDestroyView(); if (view != null) { ViewGroup vg = (ViewGroup) view.getParent(); vg.removeView(view); SMSSDK.unregisterAllEventHandler(); lt.stopLocation(); } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.phone_regster_layout_woman: select(0); break; case R.id.phone_regster_layout_man: select(1); break; case R.id.phone_regster_textview_enter: regster(); break; } } /** * 注册 */ private void regster() { nickname = et_nickname.getText().toString(); password = et_password.getText().toString(); password_again = et_password_again.getText().toString(); if (!password.equals(password_again)) { Toast.makeText(getActivity(), "两次密码输入不一致", Toast.LENGTH_SHORT).show(); return; } if (password.length() < 6) { Toast.makeText(getActivity(), "密码的长度为6~16之间", Toast.LENGTH_SHORT).show(); return; } if (nickname.length() > 10||nickname.length()<2) { Toast.makeText(getActivity(), "名字的长度为3~10之间", Toast.LENGTH_SHORT).show(); return; } DialogView.show(); location=lt.location; city=lt.city; tv_enter.setEnabled(false); RequestParams params = new RequestParams(); params.put("user", ((PhoneRegsterActivity) this.getActivity()).phone); params.put("nickname", nickname); params.put("password", password); params.put("sex", sex); params.put("icon", ""); params.put("city", city); params.put("location", location); params.put("years", ""); params.put("qq", ""); params.put("action", "save"); AsyncHttpClient client = new AsyncHttpClient(); client.post(url, params, new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { String str = new String(responseBody); if (str != null) { try { JSONObject object = new JSONObject(str); if (object.getString("code").equals("success")) { Toast.makeText(getActivity(), "注册成功", Toast.LENGTH_SHORT).show(); DialogView.dismiss(); getActivity().finish(); } else { Toast.makeText(getActivity(), "注册失败,请重试", Toast.LENGTH_SHORT).show(); DialogView.dismiss(); tv_enter.setEnabled(true); } } catch (JSONException e) { e.printStackTrace(); DialogView.dismiss(); tv_enter.setEnabled(true); } }else{ DialogView.dismiss(); tv_enter.setEnabled(true); } } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { Toast.makeText(getActivity(), "网络连接失败,请查看网络设置", Toast.LENGTH_SHORT).show(); tv_enter.setEnabled(true); DialogView.dismiss(); } }); } private void select(int i) { if (i == 0) { ll_woman.setBackgroundResource(R.drawable.shape_regster_sex_woman_focused); ll_man.setBackgroundResource(R.drawable.shape_regster_sex_man_nomal); tv_woman.setTextColor(Color.WHITE); tv_man.setTextColor(getResources().getColor(R.color.tab_text_bg)); sex = "女"; } else if (i == 1) { ll_man.setBackgroundResource(R.drawable.shape_regster_sex_man_focused); ll_woman.setBackgroundResource(R.drawable.shape_regster_sex_woman_nomal); tv_man.setTextColor(Color.WHITE); tv_woman.setTextColor(getResources().getColor(R.color.tab_text_bg)); sex = "男"; } } }