Я хочу использовать разные макеты для выпадающего списка: один для обычного просмотра (текст + изображение), а другой для выпадающего списка (только текст).
Итак, сначала я попробовал следующее:
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);
Вероятно, потому что у первого есть изображение, а у второго просто 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
Кто-нибудь знает решение? Я хочу, чтобы все элементы всегда отображались в раскрывающемся списке (без дубликатов)!