Я хочу использовать разностные макеты для выпадающего списка: один для обычного вида (текст + изображение) и другой для раскрывающегося списка (только текст) ,Странное поведение с использованием пользовательского ArrayAdapter для Spinner Dropdown (дублирование элементов после нажатия) (Android)
Итак, сначала я попробовал следующее:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.item_title, R.id.text, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Propably, потому что первый имеет изображение, а второй просто TextView, я не мог использовать это (всегда сгенерирует исключение - NullPointerException)
Итак, для этого я создал пользовательский ArrayAdapter, и он отлично работал с макетами, но возникла другая проблема: когда я выбираю элемент, этот элемент исчезает из выпадающего списка, а другой элемент занимает его место.
Например, это начальное состояние:
|item 1|
item 1
item 2
item 3
item 4
Затем я хочу выбрать пункт 4 (после выбора, раскрывающийся список скрыть):
|item 4|
И когда я нажимаю еще раз, чтобы выбрать другой элемент, он выглядит следующим образом:
|item 4|
item 1
item 2
item 3
item 1
Кто-нибудь знает решение? Я хочу, чтобы все элементы всегда отображались в выпадающем списке (без дубликатов)!
Не могли бы вы показать свой класс адаптера? –