Как использовать выбранный элемент счетчика в операторе if (Android в затмении) - PullRequest
0 голосов
/ 03 апреля 2012

Привет, у меня есть счетчик (spinner5), и всякий раз, когда пользователь выбирает элемент с надписью «age», я хочу, чтобы текстовое представление изменилось на 21. Я пробовал следующее, но это не работает. Я могу сделать это с помощью if (getSelectedItemPosition() == 1), но содержимое счетчика является динамическим, так что это не вариант.

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

Ответы [ 2 ]

4 голосов
/ 03 апреля 2012

Всегда использовать .equals при сравнении двух строк, поскольку == использовать только для Primitive data types

.equals = сравнить два строковых значения == = сравнить две строковые ссылки

if (spinner5.getSelectedItem().toString().equals("age")){
            textArea.setText("21");
        }
0 голосов
/ 03 апреля 2012

Хорошо, если предположить, что метод toString () вашего Item возвращает "age", тогда вам нужно сделать сравнение строк вместо ==.В Java операторы не могут быть перегружены, поэтому == сравнивает фактические ссылки на объекты с содержимым.То, что вы ищете:

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

, как правило, всегда используйте .equals(), если ваш тип не является примитивным, например, int, float и т. Д.

...