我想知道在Android 的上下文中何时、何地以及如何使用适配器。
Android 开发者文档中的信息对我来说是不够的,我想得到更详细的分析。
我想知道在Android 的上下文中何时、何地以及如何使用适配器。
Android 开发者文档中的信息对我来说是不够的,我想得到更详细的分析。
Android 中的 Well 适配器基本上是 UI 组件和将数据填充到 UI 组件中的数据源之间的桥梁
例如,使用列表适配器从数据源数组填充列表(UI 组件)。
假设您想在您的 Android 应用程序中显示一个列表。为此,您将使用ListView
Android 提供的。
ListView
s 本身实际上并不包含任何数据。它只是一个没有数据的 UI 元素。您可以ListView
使用 Android 适配器填充您的 s。
Adapter
是一个接口,其实现提供数据并控制该数据的显示。
ListView
s 自己的适配器可以完全控制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
定义列表中各个行的布局,并通过ListView
的setAdapter()
方法向
ListView
.
Android提供了几种标准适配器;最重要的是
ArrayAdapter
和CursorAdapter
。
ArrayAdapter
可以处理基于数组或列表的数据。
SimpleCursorAdapter
可以处理数据库相关数据。适配器基本上用于传递内容。您可能在每个应用程序中都有一个适配器是 CursorAdapter,它使您能够从数据库查询中传递由游标给出的内容。ListView 几乎总是有某种适配器。
适配器充当AdapterView
视图和底层数据之间的桥梁。适配器提供对数据项的访问,并负责为数据集中的每个项创建一个视图。
View
适配器是一种连接某种数据源的智能方式。通常,您的视图将是 aListView
并且数据将以 aCursor
或的形式出现Array
。所以适配器是CursorAdapter
or的子类ArrayAdapter
。
适配器管理数据模型并使其适应列表视图中的各个行。它扩展了BaseAdapter
类。
列表视图中的每一行都包含一个布局,可以根据需要进行复杂的操作。列表视图中的典型行在左侧有一个图像,在中间有两个文本行。
Adapter只是用来实现listview的概念。不仅用于显示数据列表,还用于显示一些自定义视图。假设客户想要使用具有更多文本视图(任何其他视图)的列表,那么我们必须在 Android 中使用适配器视图。
已经给出了多个答案,但我想给出一个不同的答案。
适配器意味着你可以它的桥提供者。
适配器是一组数据和显示数据的 AdapterView 之间的链接。
最后,适配器对于生成报告非常有用。如果要显示某些信息的报告,可以使用此工具在视图上显示数据。