2012-04-03 3 views
0

Hallo Ich habe ein Spinner (Spinner5) und wann immer der Benutzer ein Element auswählt, das "Alter" sagt, möchte ich die Textansicht auf 21 ändern. Ich habe Folgendes versucht, aber es funktioniert nicht. Ich kann dies tun, indem Sie if (getSelectedItemPosition() == 1) verwenden, aber der Inhalt des Drehfelds ist dynamisch, das ist keine Option.Wie man das ausgewählte Element eines Spinner in einer if-Anweisung verwendet (Android in Eclipse)

  if (spinner5.getSelectedItem().toString()=="age"){ 
      textArea.setText("21"); 
     } 

Antwort

4

Always Use .equals wenn zwei String vergleichen, weil == nur für verwenden Primitive data types

.equals = vergleichen zwei String-Wert == = vergleichen zwei String refrences

if (spinner5.getSelectedItem().toString().equals("age")){ 
      textArea.setText("21"); 
     } 
0

Nun unter der Annahme, dass Ihr Artikel toString() Methode gibt "Alter" zurück, dann müssen Sie einen Zeichenfolgenvergleich statt a == durchführen. In Java können Operatoren nicht überladen werden, also == vergleicht die tatsächlichen Objektreferenzen im Gegensatz zu den Inhalten. Was Sie suchen ist:

spinner5.getSelectedItem().toString().equals("age") 

in der Regel immer .equals() verwenden, wenn Sie Ihre Art ein primitiver, wie int, float usw.