В чем разница между 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, который поддерживается массивом произвольных объектов.

См. ниже ссылки