2011-07-04 11 views
0

私はアンドロイドを学習しています。コードラインを試しましたが、私にエラーを与えています。どうすれば2つのedittextのテキストを比較できますか?アンドロイドの2つのeditTextを比較する

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

これを試してください:

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

あなたは文字列を比較する必要がある場合、あなたは文字列のequalsまたはequalsIgnoreCase関数を呼び出す必要があります。

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

..

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

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

に対し

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

は2 EDITTEXTです。