Aller au contenu

Comparaison de deux types string


Zenos77

Recommended Posts

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"; 

Lien vers le commentaire
Partager sur d’autres sites

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);
}
...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...