【发布时间】:2017-11-23 00:38:02
【问题描述】:
我正在尝试检查我的电子邮件是否与电子邮件类型匹配,以及我的密码长度是否大于 0,所以我使用布尔值来检查,但我认为这看起来很糟糕,因为它总是返回 false 并且无法更改值为 true 这是我的 java 代码:
private boolean mEmail_Correct = false;
private boolean mPass_Correct = false;
mEmail.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 (android.util.Patterns.EMAIL_ADDRESS.matcher(s.toString()).matches()){mEmail_Correct = true;}
else {mEmail_Correct = false;}}});
mPassword.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.lenght>0){mPass_Correct = true;}
else {mPass_Correct = false;}}});
if (mEmail_Correct && mPass_Correct){}//I need to make sign in btn light
else {}//I need to make sign in btn dim/faint
//But nothing happen so what can i use instead of private booleans
两个布尔值都返回 false 所以有什么方法可以将布尔值更改为 true 我认为 mEmail_Correct = true;不能正常工作。
【问题讨论】:
-
在按钮点击和类型时检查密码长度电子邮件类型你不能在按钮点击时执行此操作吗..?
-
我需要这个方法是自动的,所以我不希望它通过按钮单击我实际上需要它,就像 instagram 登录活动一样。
-
mEmail_Correct和mPass_Correct将永远是false如果你在那里检查它们。在用户在其中一个字段中输入内容后,您需要检查它们。代码执行侦听器,然后立即继续执行其余代码,这是您的检查。这可能是你的问题吗?
标签: android android-edittext boolean