如何使用 SQLite 中的数据实现自定义 ArrayAdapter
Posted
技术标签:
【中文标题】如何使用 SQLite 中的数据实现自定义 ArrayAdapter【英文标题】:How to implement a Custom ArrayAdapter with data from SQLite 【发布时间】:2014-09-08 22:55:45 【问题描述】:我正在开发一个应用程序,其中包含一个列表,该列表应显示之前在 sqlite 数据库上注册的用户的姓名、电话和电子邮件地址。在每一行中也会有两个按钮。
类似这样的:
ListFragment:
--------------------
[Name 1]
[Phone 1]
[E-mail 1]
[Button 1][Button 2]
--------------------
[Name 2]
[Phone 2]
[E-mail 2]
[Button 1][Button 2]
--------------------
... (and so on) ...
按钮 1 将拨打电话,按钮 2 将向此人发送电子邮件。详细来说,这些按钮是可点击的 ImageView。
我设法正确地创建了 XML。
而且我知道我需要使用我的 SQLite 数据库中的数据实现一个自定义 ArrayAdapter。
我真的需要知道使用来自 SQLite 的数据实现自定义 ArrayAdapter 的最佳方法是什么?我看到了很多不同的方式,我完全糊涂了。
请问有人可以帮我解决这个问题吗? 如果有教程详细解释如何做到这一点,我非常感谢。
【问题讨论】:
“我知道我需要用我的 SQLite 数据库中的数据实现一个自定义 ArrayAdapter。”不,你不需要任何 ArrayAdapter,你需要的是一个 SimpleCursorAdapter 我试过 SimpleCursorAdapter。但不起作用,因为 SimpleCursorAdapter 不允许对按钮执行操作。 This 是我在学习 android 列表和 SQLite 时使用的教程。我同意@pskink 的观点,您需要的可能是 SimpleCursorAdapter,而不是 ArrayAdapter。 我现在尝试使用 SimpleCursorAdapter。但它没有用。显示用户的信息,但我无法使按钮工作。记住我的主要目标是,当点击第一个按钮时,拨打列表中行的电话号码,当点击第二个按钮时,向该用户发送一封电子邮件。 即在listfragment中执行不同动作的多个可点击部分 【参考方案1】:看起来this question 有您正在寻找的答案。您也可以尝试this question 中已接受答案中的链接。
基本上,看起来你想要做的是:
-
创建
SimpleCursorAdapter
的自定义后代
覆盖getView
-
使用自定义视图处理行膨胀
为每个按钮设置
OnClickListener
s
【讨论】:
以上是关于如何使用 SQLite 中的数据实现自定义 ArrayAdapter的主要内容,如果未能解决你的问题,请参考以下文章