繁体   English   中英

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

[英]What's the role of adapters in Android?

我想知道Android 上下文中何时何地以及如何使用适配器。

Android 开发人员文档中的信息对我来说不够,我想获得更详细的分析。

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

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

假设您想在 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 中的适配器是适配器视图(例如ListView )和该视图的底层数据之间的桥梁。 想象一下没有适配器的世界会是什么样子!

例子

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

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

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

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

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

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

适配器是将View与某种数据源连接的一种智能方式。 通常,您的视图将是一个ListView并且数据将以CursorArray形式出现。 所以适配器是CursorAdapterArrayAdapter子类。

适配器基本上用于传送内容。 您可能在每个应用程序中都有一个适配器是 CursorAdapter,它使您能够从数据库查询中传递由游标给出的内容。 ListView 几乎总是有某种适配器。

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

列表视图中的每一行都包含一个布局,可以根据需要进行复杂的布局。 列表视图中的典型行在左侧有一个图像,在中间有两个文本行。

什么是适配器?

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

AdapterView

AdapterViewsViewGroups ,显示适配器为其提供的子视图。 AdapterView一个示例是ListView

适配器还提供显示AdapterView的数据的子视图。 适配器负责提供数据并创建表示每个项目的视图。

适配器获取数据并将其与子视图一起传递给显示子视图和数据的父AdapterView

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

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

Adapter 意味着你可以认为它的桥接提供者

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM