From dadbf7a3fd20a8e0dc7e0601f30a2f696cc9fc6e Mon Sep 17 00:00:00 2001 From: Administrator <123> Date: Thu, 11 Nov 2021 02:40:05 +0000 Subject: [PATCH] 完成登录接口接入demo --- app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java | 52 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 35 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java b/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java index 59eeae1..0d13e13 100644 --- a/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java +++ b/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java @@ -19,24 +19,21 @@ import androidx.lifecycle.ViewModelProvider; import com.duqing.missions.R; -import com.duqing.missions.base.BaseTitleBarActivity; +import com.duqing.missions.base.activities.BaseTitleBarActivity; import com.duqing.missions.databinding.ActivityLoginBinding; -public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding> { +public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding,LoginViewModel> { - private LoginViewModel loginViewModel; @Override public void initViews() { - - loginViewModel = new ViewModelProvider(this, new LoginViewModelFactory()).get(LoginViewModel.class); final EditText phoneEdit = binding.editPhone; final EditText passwordEditText = binding.editPassword; final Button loginButton = binding.login; - loginViewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() { + viewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() { @Override public void onChanged(@Nullable LoginFormState loginFormState) { if (loginFormState == null) { @@ -51,8 +48,7 @@ } } }); - - loginViewModel.getLoginResult().observe(this, new Observer<LoginResult>() { + viewModel.getLoginResult().observe(this, new Observer<LoginResult>() { @Override public void onChanged(@Nullable LoginResult loginResult) { if (loginResult == null) { @@ -70,7 +66,6 @@ finish(); } }); - binding.txtPasswordTitle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -80,7 +75,6 @@ unCheckStyle(binding.txtVerifyTitle); } }); - binding.txtVerifyTitle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -90,7 +84,6 @@ unCheckStyle(binding.txtPasswordTitle); } }); - TextWatcher afterTextChangedListener = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -104,31 +97,56 @@ @Override public void afterTextChanged(Editable s) { - loginViewModel.loginDataChanged(phoneEdit.getText().toString(), + viewModel.loginDataChanged(phoneEdit.getText().toString(), passwordEditText.getText().toString()); } }; phoneEdit.addTextChangedListener(afterTextChangedListener); passwordEditText.addTextChangedListener(afterTextChangedListener); passwordEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { - @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE) { - loginViewModel.login(phoneEdit.getText().toString(), + viewModel.login(phoneEdit.getText().toString(), passwordEditText.getText().toString()); } return false; } }); - loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - loginViewModel.login(phoneEdit.getText().toString(), - passwordEditText.getText().toString()); + viewModel.login(phoneEdit.getText().toString(),passwordEditText.getText().toString()); } }); + + viewModel.getCountDown().observe(this, new Observer<Long>() { + @Override + public void onChanged(Long l) { + if(l>0){ + binding.textVerify.setTextColor(getResources().getColor(R.color.gray)); + binding.textVerify.setEnabled(false); + binding.textVerify.setText("重新发送("+l+"s)"); + }else{ + binding.textVerify.setEnabled(true); + binding.textVerify.setTextColor(getResources().getColor(R.color.sky)); + binding.textVerify.setText("获取验证码"); + } + } + }); + + binding.textVerify.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + viewModel.startCountDown(0); + } + }); + + } + + @Override + public ViewModelProvider.Factory getViewModelFactory() { + return new LoginViewModelFactory(); } public void checkedStyle(TextView textView){ -- Gitblit v1.9.1