Я пытался создать стилистически отличающееся представление списка, как и многие другие люди, и начал с поиска расширения AbsListView. Согласно документации Android, AbsListView — это:
Базовый класс, который можно использовать для реализации виртуализированных списков элементов. Здесь список не имеет пространственного определения. Например, подклассы этого класса могут отображать содержимое списка в виде сетки, карусели, стопки и т. д.
После некоторых усилий и проверки реализации ListView оказалось, что возможно невозможно расширить AbsListView так, как это делает ListView, из-за связи двух классов и невозможности доступа к определенным членам пакета. Я наткнулся на эту форму Romain Guy:
AbsListView и AbsSpinner предназначены для расширения в пределах рамки. Они также могут быть расширены в сторонних приложениях, но мы это сделали. не раскрывать все необходимые защищенные поля и методы намеренно. Мы хотим быть очень осторожными в раскрытии таких API, чтобы не получить материал для будущих расширений и внутренних изменений. Наш текущий рекомендуется просто скопировать/вставить код, который вам нужен внутри вашего приложение.
Я начал пытаться сделать это, но копирование AbsListView превратилось в кроличью нору копирования в куче других вещей, и это действительно кажется проигрышным предложением. Я хотел посмотреть, добился ли кто-нибудь успеха в расширении AbsListView, кто мог бы поделиться методологией.
[1] http://developer.android.com/reference/android/widget/AbsListView.html
[2] https://groups.google.com/forum/?fromgroups#!topic/android-developers/UhbR1tpVvF0