Понимание BaseAdapters и как их использовать - PullRequest
7 голосов
/ 26 января 2011

Я пытаюсь настроить изображение GridView Layout, и это включает в себя получение нового класса из класса BaseAdapter.Я использовал учебник на сайте developer.android.com, но до сих пор не совсем понимаю, что это значит.Может кто-нибудь объяснить мне, что такое BaseAdapter?Я не понимаю определения, представленного на сайте разработчиков Android.

Спасибо

Ответы [ 2 ]

19 голосов
/ 26 января 2011

Адаптер используется для привязки данных к представлению. См. AdapterView :

AdapterView - это представление, чьи дочерние элементы определяются адаптером.

Несколько видов компоновки являются производными от AdapterView, например GridView, ListView и Gallery.

Конечно, вы обычно не используете AdapterView и Adapter напрямую, а используете или наследуете один из их подклассов. Подклассы Adapter могут добавлять дополнительные функции, которые изменяют способ привязки данных для просмотра.

BaseAdapter - это абстрактный базовый класс для интерфейса адаптера, упрощающий реализацию адаптеров. Вы можете реализовать свой собственный, но фреймворк уже предоставляет несколько довольно гибких адаптеров. Вот некоторые популярные адаптеры:

ArrayAdapter

  • привязывает массив данных к представлению
  • переопределить getView() для раздувания, заполнения и возврата пользовательского представления для данного индекса в массиве. Метод getView() включает возможность многократного использования представлений с помощью параметра convertView.

CursorAdapter * * 1045

  • привязывает данные из курсора (например, курсора базы данных) к представлению
  • реферат, чтобы вы не использовали его напрямую, не использовали подкласс или не получили свой собственный
  • реализует абстрактный метод newView() для раздувания, заполнения и возврата нужного представления для текущей позиции курсора и реализации абстрактного метода bindView для заполнения существующего представления, которое используется повторно ..

SimpleCursorAdapter

  • конкретная реализация CursorAdapter
  • может потребоваться макет строки и отображение столбцов курсора на виджеты макета строки
  • поддерживает текст и изображения, но может настраиваться с использованием setViewText и setViewImage
  • может поддерживать другие типы и может настраивать привязки через ловушку: клиенты реализуют интерфейс SimpleCursorAdapter.ViewBinder с методом setViewValue() для раздувания, заполнения и возврата нужного представления для данной строки (текущего состояния курсора) и данных " столбец». Этот метод может определять только «особые» представления и привязки, но все же откладывать стандартное поведение SimpleCursorAdapter для «обычных» привязок.
3 голосов
/ 26 января 2011

http://developer.android.com/resources/tutorials/views/hello-gridview.html

GridView является подклассом типа представления, известного как AdapterView. Как правило, они содержат несколько меньших представлений, но полагаются на адаптер для предоставления им этих представлений. Класс BaseAdapter - это класс, который вы расширяете, чтобы переопределить методы, которые сообщают AdapterView (вашему GridView), что отображать. Наиболее важным методом для переопределения является метод getView (), в котором вы возвращаете View для отображения в определенной позиции в сетке.

Хотя эта настройка немного запутанная и сложная, разработчики Android выбрали ее из-за всех возможных оптимизаций. Большая оптимизация для AdapterViews достигается путем повторного использования Views вместо создания новых в методе getView. Для этого и используется аргумент convertView, который вы можете увидеть в методе getView. Если convertView == null, то метод должен создать новый объект View и вернуть его, дорогая операция. Если оно не равно нулю, то адаптер может повторно использовать представление, просто изменив изображение в этом учебном примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...