Не могли бы вы рассказать мне разницу между ArrayAdapter
, BaseAdapter
и ListAdapter
.
В чем разница между ArrayAdapter, BaseAdapter и ListAdapter
Ответ 1
BaseAdapter
, как следует из названия, является базовым классом для всех адаптеров.
Когда вы расширяете класс базового адаптера, вам необходимо реализовать все методы, такие как getCount()
, getId()
и т.д.
ArrayAdapter
- это класс, который может работать с массивом данных. Вам нужно переопределить только метод getview()
.
ListAdapter
- это интерфейс, реализованный конкретными классами адаптеров.
BaseAdapter
- абстрактный класс, тогда как ArrayAdapter
и ListAdapter
- это конкретные классы.
ArrayAdapter
и ListAdapter
, поскольку мы имеем дело с наборами данных массива и наборами данных списка.
Ответ 2
ListAdapter
Это интерфейс, который расширил адаптер, который является мостом между ListView и данными, которые поддерживают список.
BaseAdaper
Общий базовый класс общей реализации для адаптера, который может использоваться как в ListView (путем реализации специализированного интерфейса ListAdapter), так и Spinner (путем реализации специализированного интерфейса SpinnerAdapter.
ArrayAdapter
Конкретный BaseAdapter, который поддерживается массивом произвольных объектов.
См. ниже ссылки