2011-01-30 23 views
15
login.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if(username_text.getText().toString() == "admin" && 
        pass_text.getText().toString() == "password"){ 

       startActivityForResult(i, ACTIVITY_CREATE); 

      }else{ 
       Toast.makeText(gps_gui.this, "Your username or password is not correct! Please, insert again", 
         Toast.LENGTH_SHORT).show(); 
       clearEditText(); 
      } 
     } 

    }); 

私はそれをチェックしようとしている、私はそれが条件に行かないことがわかった。EditTextから文字列を取得

+1

あなたは以前の質問に対する正解を受け入れてください。答えの横にあるチェックマークをクリックするだけで、それを合格とマークすることができます。 – kcoppock

+0

私はこの同じ正確なテストを行いました。たとえ "admin"と "password"を値として使っていました。ニース! :)この質問をお寄せいただきありがとうございます! – aikeru

答えて

29

javaを使用する場合、String.equals(String)メソッドを使用してStringを比較する必要があります。 ==比較はStringオブジェクトの値が等しいかどうかをチェックします。例を次のように変更してみてください。

チェックする値の文字列値がnullの場合は、最初に静的な文字列を挿入することもスマートです。

+0

ありがとうございます。大文字と小文字は区別されますか? – Yoo

+1

これは大文字と小文字を区別します。 @msumaithriが言及したように、代わりにequalsIgnoreCaseを使用することができます(ただし、パスワードとユーザー名にはお勧めしません) –

+0

adminのansi値とパスワードのansi値を追加すると、違う... – solti

3

Stringクラスのequals()メソッドを使用して文字列を比較します。以下のリンクをクリックすると詳細が表示されます。あなたはそれが大文字と小文字を区別しないことにしたい場合は

About equals(Object yourObj) method (CASE sensitive)

equalsIgnoreCase(文字列yourStringObject)は、使用することができます!

関連する問題