From 73ece7bafeec74191a5919efb6839c508522f917 Mon Sep 17 00:00:00 2001 From: Administrator <123> Date: Sat, 06 Nov 2021 00:40:07 +0000 Subject: [PATCH] layout 子文件夹 --- app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java | 50 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 35 insertions(+), 15 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 551e4c9..896d934 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 @@ -23,19 +23,17 @@ 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) { @@ -50,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) { @@ -69,7 +66,6 @@ finish(); } }); - binding.txtPasswordTitle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -79,7 +75,6 @@ unCheckStyle(binding.txtVerifyTitle); } }); - binding.txtVerifyTitle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -89,7 +84,6 @@ unCheckStyle(binding.txtPasswordTitle); } }); - TextWatcher afterTextChangedListener = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -103,31 +97,57 @@ @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(), + 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