Jump to content

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

Link to comment
Share on other 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);
}
...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...