У меня есть 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.
Комментариев нет:
Отправить комментарий