Части и функциональные возможности Xamarin.Android ListView

A ListView состоит из следующих частей:

  • Строки — видимое представление данных в списке.

  • Адаптер — не визуальный класс, который привязывает источник данных к представлению списка.

  • Быстрая прокрутка — дескриптор, позволяющий пользователю прокручивать длину списка.

  • Индекс раздела — элемент пользовательского интерфейса, который плавает по прокручивающим строкам, чтобы указать, где находятся текущие строки в списке.

На этих снимках экрана используется базовый ListView элемент управления для отображения быстрой прокрутки и индекса раздела:

Screenshots of apps using Plain old rows, fast scrolling, and section index

Элементы, составляющие объект ListView , подробно описаны ниже.

Строки

Каждая строка имеет собственную View. Представление может быть одним из встроенных представлений, определенных в Android.Resources, или пользовательским представлением. Каждая строка может использовать один и тот же макет представления или все они могут быть разными. В этом документе приведены примеры использования встроенных макетов и других способов определения пользовательских макетов.

Адаптер

Элемент ListView управления требует Adapter предоставления отформатированного View для каждой строки. Android имеет встроенные адаптеры и представления, которые можно использовать, или пользовательские классы можно создать.

Быстрая прокрутка

ListView Если содержится много строк быстрой прокрутки данных, можно включить, чтобы помочь пользователю перейти к любой части списка. При необходимости можно включить быструю прокрутку полосы прокрутки (и настроить ее на уровне API 11 и выше).

Индекс раздела

Прокручивая длинные списки, необязательный индекс раздела предоставляет пользователю отзыв о том, какую часть списка они просматривают в настоящее время. Он подходит только для длинных списков, как правило, в сочетании с быстрой прокруткой.

Общие сведения о классах

Ниже показаны основные классы, используемые для отображения ListViews :

UML diagram illustrating relationships between ListView and associated classes

Назначение каждого класса дано ниже.

  • ListView — элемент пользовательского интерфейса, отображающий прокручиваемую коллекцию строк. На телефонах обычно используется весь экран (в этом случае ListActivity класс может использоваться) или может быть частью более крупного макета на телефонах или планшетных устройствах.

  • View — представление в Android может быть любым элементом пользовательского ListView интерфейса, но в контексте его требуется View предоставить для каждой строки.

  • BaseAdapter — базовый класс для реализации адаптера для привязки ListView к источнику данных.

  • ArrayAdapter — встроенный класс адаптера, который привязывает массив строк к отображению ListView . ArrayAdapter<T> Универсальный шаблон выполняет то же самое для других типов.

  • CursorAdapter — использование CursorAdapter или SimpleCursorAdapter отображение данных на основе запроса SQLite.

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