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