90df39562575d303f258cd0b507f392ab0ed5a2a.svn-base 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package eVVM.apk.ui.login;
  2. import android.graphics.Color;
  3. import android.text.SpannableStringBuilder;
  4. import android.text.Spanned;
  5. import android.text.TextUtils;
  6. import android.text.style.ForegroundColorSpan;
  7. import android.view.View;
  8. import android.widget.Button;
  9. import android.widget.CheckBox;
  10. import android.widget.CompoundButton;
  11. import android.widget.EditText;
  12. import android.widget.TextView;
  13. import com.hjq.widget.CountdownView;
  14. import butterknife.BindView;
  15. import butterknife.OnClick;
  16. import eVVM.apk.R;
  17. import eVVM.apk.common.MyActivity;
  18. import eVVM.apk.mvp.MvpActivity;
  19. import eVVM.apk.ui.bean.VerificationCodeBean;
  20. import eVVM.apk.ui.login.AuthenticationActivity;
  21. import eVVM.apk.ui.login.register.RegisterContract;
  22. import eVVM.apk.ui.login.register.RegisterPresenter;
  23. public class RegisterActivity extends MvpActivity<RegisterPresenter> implements RegisterContract.View {
  24. @BindView(R.id.forget_et_phone)
  25. EditText forgetEtPhone;
  26. @BindView(R.id.cv_password_forget_countdown)
  27. CountdownView cvPasswordForgetCountdown;
  28. @BindView(R.id.forget_et_code)
  29. EditText forgetEtCode;
  30. @BindView(R.id.forget_et_pwd)
  31. EditText forgetEtPwd;
  32. @BindView(R.id.forget_et_pwdAgain)
  33. EditText forgetEtPwdAgain;
  34. @BindView(R.id.forget_btn_login)
  35. Button forgetBtnLogin;
  36. @BindView(R.id.register_cb_agree)
  37. CheckBox registerCbAgree;
  38. @BindView(R.id.register_tv_protocol)
  39. TextView registerTvProtocol;
  40. @Override
  41. protected int getLayoutId() {
  42. return R.layout.activity_register;
  43. }
  44. @Override
  45. protected int getTitleId() {
  46. return R.id.tb_register_title;
  47. }
  48. @Override
  49. protected void initView() {
  50. //设置用户协议
  51. toProtocol();
  52. forgetBtnLogin.setEnabled(false);
  53. //设置 button的状态
  54. getBtnStact();
  55. }
  56. private void getBtnStact() {
  57. registerCbAgree.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  58. @Override
  59. public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
  60. if (b) {
  61. /*forgetBtnLogin.setClickable(true);
  62. forgetBtnLogin.setEnabled(true);*/
  63. if (TextUtils.isEmpty(forgetEtPhone.getText().toString().trim()) || TextUtils.isEmpty(forgetEtCode.getText().toString().trim())
  64. || TextUtils.isEmpty(forgetEtPwd.getText().toString().trim()) || TextUtils.isEmpty(forgetEtPwdAgain.getText().toString().trim())) {
  65. forgetBtnLogin.setEnabled(false);
  66. } else {
  67. forgetBtnLogin.setEnabled(true);
  68. }
  69. } else {
  70. //forgetBtnLogin.setClickable(false);
  71. forgetBtnLogin.setEnabled(false);
  72. }
  73. }
  74. });
  75. }
  76. private void toProtocol() {
  77. SpannableStringBuilder builder = new SpannableStringBuilder(registerTvProtocol.getText().toString());
  78. ForegroundColorSpan blueSpan = new ForegroundColorSpan(Color.BLUE);
  79. //UnderlineSpan lineSpan = new UnderlineSpan();
  80. // builder.setSpan(lineSpan,8,16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //下划线
  81. builder.setSpan(blueSpan, 9, 14, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //字体颜色
  82. registerTvProtocol.setText(builder);
  83. }
  84. @Override
  85. protected void initData() {
  86. }
  87. @OnClick({R.id.cv_password_forget_countdown, R.id.forget_btn_login, R.id.register_tv_protocol})
  88. public void onViewClicked(View view) {
  89. switch (view.getId()) {
  90. case R.id.cv_password_forget_countdown:
  91. if (forgetEtPhone.getText().toString().length() != 11) {
  92. // 重置验证码倒计时控件
  93. cvPasswordForgetCountdown.resetState();
  94. toast(getString(R.string.common_phone_input_error));
  95. } else {
  96. getPresenter().getCode(forgetEtPhone.getText().toString().trim(),1);
  97. }
  98. break;
  99. case R.id.forget_btn_login:
  100. if (TextUtils.isEmpty(forgetEtPhone.getText().toString().trim()) || TextUtils.isEmpty(forgetEtCode.getText().toString().trim())
  101. || TextUtils.isEmpty(forgetEtPwd.getText().toString().trim()) || TextUtils.isEmpty(forgetEtPwdAgain.getText().toString().trim())) {
  102. //forgetBtnLogin.setEnabled(false);
  103. toast("请重新输入");
  104. } else {
  105. if (forgetEtPhone.getText().toString().length() != 11) {
  106. toast(getString(R.string.common_phone_input_error));
  107. } else if (!forgetEtPwd.getText().toString().equals(forgetEtPwdAgain.getText().toString())) {
  108. toast(getString(R.string.register_password_input_error));
  109. } else {
  110. getPresenter().register(forgetEtPhone.getText().toString().trim(),
  111. forgetEtPwd.getText().toString().trim(),forgetEtCode.getText().toString().trim());
  112. }
  113. }
  114. break;
  115. case R.id.register_tv_protocol:
  116. //点击用户协议
  117. break;
  118. }
  119. }
  120. @Override
  121. protected RegisterPresenter createPresenter() {
  122. return new RegisterPresenter();
  123. }
  124. @Override
  125. public void registerError(String msg) {
  126. toast(msg);
  127. }
  128. @Override
  129. public void registerSuccess(VerificationCodeBean data) {
  130. startActivity(AuthenticationActivity.class);
  131. }
  132. @Override
  133. public void getCodeError(String msg) {
  134. toast(msg);
  135. }
  136. @Override
  137. public void getCodeSuccess(VerificationCodeBean codeData) {
  138. // 获取验证码
  139. toast(getString(R.string.common_send_code_succeed));
  140. }
  141. }