2012-05-02 20 views
0

textfieldという名前のEditTextコンポーネントのテキストを取得しようとしていて、それが "facebook"と等しいかどうかを確認しようとしています。それは動作しませんし、私はなぜ私の人生のために見つけることはできません。また、if文ではmyが画像のIDとされています。なぜこのテキスト比較が失敗するのですか?

public class Guess extends Activity { 

    ImageView image; 
    ImageView stat; 
    Button okButton; 
    EditText textfield; 

    Integer my; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.guess); 

     final Bundle bundle = this.getIntent().getExtras(); 
     int pic = bundle.getInt("myimage"); 
     final int resid = bundle.getInt("resourceID"); 

     my = pic; 

     image = (ImageView) findViewById(R.id.imageView1); 
     image.setImageResource(pic); 
     image.setAdjustViewBounds(true); 

     stat = (ImageView) findViewById(R.id.imageView2); 
     stat.setImageResource(R.drawable.incorrect); 

     okButton = (Button) findViewById(R.id.button1); 
     okButton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       textfield = (EditText) findViewById(R.id.editText1); 
       if("2130837510".equals(my.toString()) && "facebook".equals(textfield.getText())); 
       { 
        stat.setImageResource(R.drawable.correct); 
       } 
      } 
     }); 
    } 
} 
+1

'getText()。toString()' – adneal

+1

セミコロンがありますか。あなたのif条件の終わりに? – Luke

+1

おっと!それは実際に@ルークを解決!歓声 – Pete

答えて

1

声明

if(1 == 2); 
{ 
    System.out.println("passed"); 
} 

はそう下記のコードは、とにかく実行する場合は、あなたの終わりにセミコロンを持っています。

3

textfield.getText()は、編集可能ではなく文字列を返します。 textfield.getText()。toString()を使用して実際のStringオブジェクトを渡します。

+0

.toString()を追加すると、入力したテキストに関係なく、画像「正しい」が表示されます。/ – Pete

+1

";" if文の最後に。つまり、常に「正しい」画像を設定します。を削除します。それはうまくいくはずです。 – azertiti