2012-05-02 3 views
0

J'essaie d'obtenir le texte dans le composant EditText nommé textfield et voir si c'est égal à "facebook". Cela ne fonctionne pas et je ne peux pas pour la vie de savoir pourquoi. Également dans l'instruction if my est censé être l'ID de l'image.Pourquoi cette comparaison de texte échoue?

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

Avez-vous un point-virgule? à la fin de votre condition si? – Luke

+1

oups! qui l'a résolu @Luke! acclamations – Pete

Répondre

1

Vous avez deux points demi sur la fin de votre instruction if

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

donc le code ci-dessous exécutera de toute façon.

3

textfield.getText() renvoie un objet Editable not a String. Pour que cela fonctionne, passez l'objet String en utilisant textfield.getText(). ToString().

+0

avec l'addition .toString() l'image 'correct' est affiché quel que soit le texte saisi:/ – Pete

+1

Je viens de remarquer que vous avez un ";" à la fin de if déclaration. Cela signifie que vous définirez toujours l'image "correcte". Retirer le ; et ça devrait marcher. – azertiti

Questions connexes