Zenos77 Posted September 18, 2012 Share Posted September 18, 2012 Bonjour, j'ai (encore) un problème avec mon code : l'appui sur le bouton est censé comparer deux textes, et afficher le fond de l'editText en vert si ça correspond, en rouge sinon. Le problème c'est que ça met tout le temps le fond en rouge même quand les textes correspondent (pour vérifier ça j'ai mis la dernière ligne qui affiche les deux textes sur la même ligne) private onclickListener button6Listener = new onclickListener() { public void onclick(View v) { h = h+1; TextView textView1= (TextView) findViewById(R.id.textView1); EditText editText1 = (EditText)findViewById(R.id.editText1); if(editText1.getText().toString() == t1){editText1.setBackgroundColor(Color.GREEN);} else {editText1.setBackgroundColor(Color.RED);}; textView1.setText(t1+editText1.getText().toString()); } }; pour info la variable t1 est définie de la manière suivante : public String t1; t1 = "toto"; Link to comment Share on other sites More sharing options...
chpil Posted September 18, 2012 Share Posted September 18, 2012 L'opérateur == ne peut pas être utilisé pour faire la comparaison de deux chaines de caractères (ou de tout autre objet). Il fait le test sur la référence des objets, par leur valeurs. A n'utiliser que pour les types primitifs Dans ton cas, il te faut utiliser la méthode equals() if (editText1.getText().toString().equals(t1) { editText1.setBackgroundColor(Color.GREEN); } ... Link to comment Share on other sites More sharing options...
Zenos77 Posted September 18, 2012 Author Share Posted September 18, 2012 Merci beaucoup ! ça marche impeccable maintenant Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.