2011-07-04 60 views
0

我正在學習android我試過下面的codeline,但它給了我錯誤,請給我一些建議,那我該如何比較兩個edittext的文本。如果你有比較字符串,那麼你需要調用字符串的equalsequalsIgnoreCase功能在android中比較兩個editTexts

if((edt1.getText().toString.equalsIgnoreCase("X")) && 
    (edt4.getText().toString.equalsIgnoreCase("X")) && 
    (edt7.getText().toString.equalsIgnoreCase("X"))) 

if((edt1.getText().toString() && 
    edt4.getText().toString() && 
    edt7.getText().toString)=="X") 
+0

只是要清楚:你想要做的是檢查可變數量的字符串,看看它們是否都包含「X」,是嗎?所以@hoipolloi實際上正確地回答了你的問題? (如果是這樣,請點擊答案左邊的複選標記以將其標記爲接受的答案) – Kjartan

回答

0
if((edt1.getText().toString()=="X")&&(edt4.getText().toString()=="X")&&(edt7.getText().toString()=="X")) 
1

請試試這個。

0

,如果你想檢查edt1,edt4,edt7有 「X」 值,那麼試試這個..

if((edt1.getText().toString().equalsIgnoreCase("X")  
       &&edt4.getText().toString().equalsIgnoreCase("X") && 
       edt7.getText().toString.equalsIgnoreCase("X")) 
6

這裏是不違反DRY原則的解決方案:

private static boolean allContain(final String value, 
            final EditText... editTexts) 
{ 

    for (EditText editText : editTexts) { 
     final String text = editText.getText().toString(); 
     if (!text.equals(value)) { 
      return false; 
     } 
    } 
    return true; 
} 

if (allContain("X", edt1, edt2, edt3, edt4)) { 
    // All EditTexts contain 'X' 
} 
+1

+1最簡單的方法... –

+0

DRY原理是什麼? –

+0

@Francisco - 不要重複自己 – hoipolloi

-1

使簡單:

01可以按如下方式使用它
if (!et1.toString().equals(et2.toString())) { 
    MsgBox(this,"--Your Message--"); 
} 
1

我已經找到了最好的解決方案..

if(Password.getText().toString().trim().matches(confirmPassword.getText().toString().trim())) 
{ 
// then do your work 
} 
else 
//otherwise show error message. 

Password = (EditText)findViewById(R.id.pass); 

confirmPassword = (EditText)findViewById(R.id.confirmpass); 

兩個EDITTEXT。