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

我想知道 Android环境中何时何地以及如何使用适配器。

来自Android开发者文档的信息对我来说是不够的,我希望得到更详细的分析。

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

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

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

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

Adapter接口包括将数据传递给ListView各种方法。 您可以通过实施BaseAdapter从头创build自己的适配器。

 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电缆。 数据源和布局可以分别理解为sockets(插入点)和USB端口(充电点)。

在移动充电的情况下,电源可能不同,例如从电源sockets,sockets或笔记本电脑充电。 Android中使用的适配器也是如此。 数据源可能会根据应用程序的要求而改变。

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

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

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

例子

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

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

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

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

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

适配器充当适配器AdapterView和该视图底层数据之间的桥梁。 适配器提供对数据项的访问权限,并负责为数据集中的每个项目创build视图。

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

什么是适配器?

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

适配器视图

AdapterViews是ViewGroups,显示适配器给它的子视图。 一个AdapterView的例子是一个ListView。

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

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

适配器pipe理数据模型,并将其调整为列表视图中的各行。 它扩展了BaseAdapter类。

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

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

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

适配器意味着你可以把它的桥梁提供者

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