适配器在 Android 中的作用是什么?

我想知道 什么时候哪里怎么做适配器是在 Android 的上下文中使用的。

Android 开发者文档中的信息对我来说是不够的,我想得到一个更详细的分析。

103707 次浏览

适配器主要用于交付内容。您可能在每个应用程序中都有一个适配器 CursorAdapter,它使您能够从数据库查询中交付游标提供的内容。ListView 几乎总是有某种适配器。

Android 中的适配器基本上是 UI 组件和将数据填充到 UI 组件的数据源之间的桥梁

例如,通过使用数据源数组中的列表适配器填充列表(UI 组件)。

适配器充当 AdapterView和该视图的基础数据之间的桥梁。 适配器提供对数据项的访问,并负责为数据集中的每个项创建视图。

适配器是将 View与某种数据源连接起来的一种聪明方法。通常,您的视图将是 ListView,数据将以 CursorArray的形式出现。 因此,适配器作为 CursorAdapterArrayAdapter的子类出现。

适配器管理数据模型并将其适配到列表视图中的各个行。 它扩展了 BaseAdapter类。

列表视图中的每一行都由一个布局组成,该布局可以像您希望的那样复杂。 列表视图中的典型行在左侧有一个图像,在中间有两个文本行。

Android 中的适配器是适配器视图(例如 ListView)和该视图的底层数据之间的桥梁。 想象一下,如果没有适配器,世界会变成什么样子!

例子

  • 在垂直滚动列表中显示项的视图。 这些条目来自与此视图相关联的 ListAdapter

  • ListAdapter定义列表中各行的布局,并且 通过 setAdapter()方法向 ListView提供数据 ListView.

  • Android 提供了几个标准适配器; 其中最重要的是 ArrayAdapterCursorAdapter

  • ArrayAdapter可以处理基于数组或列表的数据。

  • SimpleCursorAdapter可以处理与数据库相关的数据。

假设您想在 Android 应用程序中显示一个列表。 为此,您将使用由 Android 提供的 ListView。 实际上,ListView本身并不包含任何数据。 它只是一个没有数据的 UI 元素。 您可以使用 Android 适配器填充 ListView

Adapter是一个接口,其实现提供数据并控制数据的显示。 ListView拥有完全控制 ListView的适配器 展示。 因此,适配器控制列表中显示的内容以及如何显示它。

Adapter接口包括与 ListView通信数据的各种方法。 可以通过实现 BaseAdapter从头创建自己的适配器。

public class ArrayAdapter<T> extends BaseAdapter implements Filterable {


// One of the constructors
public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) {
init(context, resource, textViewResourceId, Arrays.asList(objects));
}


void manyMoreMethods(){}


}

让我们定义一个适配器:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
  • 第一个参数: 上下文
  • 第二个参数: 行的布局
  • 第三个参数: 将数据写入的 TextView的 ID
  • 第四个参数: 数据数组

它是数据源和布局(很可能是 ListView)之间的接口。

打个比方

让我们以移动充电器为例,或者说是 USB 电缆。 线路可以看作是适配器,而数据源和布局可以理解为插座(插件点)和 USB 端口(充电点)分别。

在手机充电方面, 能量的来源可能不同, 例如从电源、插座或手提电脑充电。 Android 中使用的适配器也是如此。 根据应用程序的要求,可以更改数据源。

简而言之,Android 中的适配器从源中携带数据 (例如 ArrayList<>) 并将其传递到布局(. xml 文件)。

适配器只是用来实现列表视图的概念。不仅可以显示数据列表,还可以显示一些自定义视图。假设客户希望使用文本视图数量更多的列表(任何其他视图) ,那么我们必须在 Android 中使用 Adapter 视图。

已经给出了多个答案,但我想给出一个不同的答案。

适配器意味着你可以 它的桥梁供应商

适配器是一组数据和显示数据的 AdapterView 之间的链接。

最后,适配器对于执行报表非常有用。如果需要显示某些信息的报告,可以使用此工具在视图中显示数据。