Использование собственного адаптера ListView с темами Android по умолчанию - PullRequest
6 голосов
/ 21 июня 2011

Я разрабатываю приложение на сотовой основе с ListView. При использовании обычного адаптера ArrayAdapter для подачи содержимого ListView я могу передать ему встроенный макет, например Android.R.layout.simple_selectable_list_item . Это создает интерактивный элемент с приятной анимацией затухания при выборе элемента, который соответствует общему ощущению сота.

Однако, если я решу использовать свой собственный макет (или создать собственный адаптер), у меня больше не будет анимации при фокусировке или выборе элемента в ListView. Я мог бы создать свою собственную анимацию, но я бы предпочел использовать тему Holo по умолчанию при разработке для Honeycomb для простоты и последовательности.

Я в растерянности из-за того, как это сделать, и не смог найти кого-то еще с моей борьбой (возможно, я ищу неправильные термины или упускаю что-то очевидное!). У кого-нибудь есть предложения? Я полагаю, что это включает в себя определение какого-то стиля или темы в файле XML для макета, но я не выяснил, где это разместить или каким может быть содержимое.

Спасибо!

1 Ответ

6 голосов
/ 23 июня 2011

Понял: мне пришлось удалить все ссылки на android: listSelector и android: фон для моего ListView.Затем я добавил

android:background=?android:attr/listChoiceBackgroundIndicator

в свой вид верхнего уровня для макета строки ListView.

...