Xamarin.Android ListView 部件和功能

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 – 内置 Adapter 类,用于将字符串数组绑定到 ListView 以便显示。 泛型 ArrayAdapter<T> 对其他类型执行同样的操作。

  • CursorAdapter – 使用 CursorAdapterSimpleCursorAdapter 基于 SQLite 查询显示数据。

本文档包含使用 ArrayAdapter 的简单示例,以及需要自定义 BaseAdapterCursorAdapter 的实现的较复杂示例。