Страницы

Поиск по вопросам

пятница, 12 апреля 2019 г.

Spinner не устанавливать значение пока не нажму(android)

У меня есть spinner:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int childposition, long id) { textView.setText(spinner.getSelectedItem().toString()); }
@Override public void onNothingSelected(AdapterView parent) { textView.setText(""); } });
У меня есть textView При запуске программы, по стандарту туда устанавливается первое значение списка, т.е:
list.add("one"); list.add("two");
Когда я запущу свой пример то у меня в textView будет one.
Вопрос: как сделать так что б при запуске программы у меня был textView.setText("") и только тогда когда я нажму на спиннер и выберу item то устанавливалось textView.setText(spinner.getSelectedItem().toString()); ?


Ответ

То что вы описали - нормальное поведение дефолтного Spinner. Это многим не нравится, поэтому появилось альтернативное решение https://github.com/justjohn/transitwidget/blob/master/src/com/transitwidget/NoDefaultSpinner.java. Добавьте этот класс в свой проект и используйте вместо стандартного Spinner - NoDefaultSpinner. У вас не будет выбираться первое значение по умолчанию, а в самом Spinner будет устанавливаться текст из атрибута prompt.

Комментариев нет:

Отправить комментарий