2017-06-20 124 views
0

我想檢查我的電子郵件是否匹配電子郵件類型,如果我的密碼長度大於0,所以我用布爾值來檢查,但看起來不好主意,我想因爲它總是返回false,不能將此值更改爲真,這裏是我的java代碼:布爾值總是返回false

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,那麼有沒有什麼辦法來改變值布爾真我覺得mEmail_Correct = TRUE;不能正常工作。

+0

,而按鈕點擊式檢查密碼長度電子郵件類型不能執行此電子郵件和密碼想工作的功能按鈕點擊操作..? – ManishNegi

+0

我需要這種方法自動,所以我不希望它與按鈕點擊我的現實需要它像instagram登錄活動。 – 7uthaifah

+0

如果你在那裏檢查它們,'mEmail_Correct'和'mPass_Correct'將始終爲'false'。您需要在用戶在其中一個字段中輸入內容後檢查它們。代碼執行偵聽器,然後立即繼續執行代碼的其餘部分,這是您的檢查。這可能是你的問題嗎? – instanceof

回答

0

可以觸發已經做了你根據用戶如果他進入正確

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()){emailWrittenCorrect(true);} 
    else {emailWrittenCorrect(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){passwordWrittenCorrect(true);} 
     else {passwordWrittenCorrect(false);}}}); 

private passwordWrittenCorrect(boolean x){ 
    passwordEmailCheck(null,x); 
} 
private void emailWrittenCorrect(boolean x){ 
    passwordEmailCheck(x,null); 
} 
private passwordEmailCheck(boolean emailStat, boolean passwordStat){ 
    if(emailStat!=null){ 
     mEmail_Correct = emailStat; 

    } 
    if(passwordStat!=null){ 
     mPass_Correct = passwordStat 
    } 
    if(emailStat && passwordStat){ 
     //show button 
    } 

} 
+1

嘿@Sami Kanafani和我怎樣才能比較兩個布爾值。 – 7uthaifah

+0

哪2個布爾值是你的意思? –

+0

我的意思是passwordWrittenCorrect和emailWrittenCorrect的值,我需要檢查兩個值是否有真布爾或假,如果兩個布爾值都是true,那麼signin btn會很輕,如果不是,它會是黑暗的,你有它的兄弟。 – 7uthaifah