Android中ArrayAdapter和CursorAdapter的区别

16

ArrayAdapter和CursorAdapter在Android中有何不同?

3个回答

15

数组适配器:它接受一个项目数组并使用该数组构建您的列表。

游标适配器:它接受一个游标,该游标作为对sqlite数据库或内容提供程序查询的结果而接收。将此游标传递给适配器,列表将根据游标中存在的数据创建。


对于ArrayAdapter,我们必须从代码中传递数据,而对于CursorAdapter,数据来自数据库,是吗? - Shane
你可以这么说。你可以在代码中生成一个Array list的数据,例如,一个字符串数组指定国家名称。然后,您可以将其传递给数组适配器以制作国家列表。在游标的情况下,当您查询数据库或内容解析器时,您会得到一个光标作为返回数据(您需要阅读相关资料)。 - Shubhayu
@Shane 你也可以从数据库查询生成一个ArrayAdapter。 - IgorGanapolsky
有人能帮我吗?我在我的listViews中为按钮设置了一个onClickListener,我为我的5个文本视图填充了所有的值,它运行得很好。现在我想要的是,当我点击按钮时,1个文本视图应该显示按钮被点击的次数。我尝试了很多方法,但是值没有被刷新。我在我的适配器类中添加了onclicklistener。 - Sharath

4

数组适配器 一个具体的BaseAdapter,由任意对象数组支持。您可以添加自定义对象的列表或数组

游标适配器 从游标中公开数据的适配器。游标必须包括名为“_id”的列,否则此类将无法工作。


大家好,我是一个Android的新手,我想为我的Android应用程序创建SQLite数据库。从数据库中获取的数据将使用游标适配器在列表视图中显示(图片、名称)...请问最佳方法是什么?我是否需要一个holder类来保存为自定义列表创建的视图...您能给我提供一个例子来指导我吗?非常感谢您的帮助。期待您的详细解释。 - Shane
游标必须包含一个名为"_id"的列,否则此类将无法工作。 - tony9099
@Shane 你可以使用 Holder 模式使你的 ListView 更加高效。然而,这并不是仅限于 CursorAdapter 的要求。 - IgorGanapolsky

1

Array Adapter 用于字符串数组或数据。Cursor Adapter 用于当您有一个 Cursor 中的数据时,例如从数据库获取数据。


对于数组适配器,我们必须从代码中传递数据吗?而在游标适配器中,数据来自数据库,是这样吗? - Shane
@Shane .. 嗯,是的..类似那样的东西...不仅仅是数据库。任何返回游标数据的东西。 - ngesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接