如何将现有的 SQLite 数据库连接到 ExpandableListView?

How do I connect an existing SQLite database to an ExpandableListView?

我一直在尝试准备自定义 Views 以在整个星期内显示 SQLite 数据库条目,但没有成功。

我已经尝试过默认列表和 Room Persistence Library 方法,甚至考虑过 JSON/GSON 替代方案,但同时用基本文本字符串在列表中填充列表似乎是最简单的尝试。

基本上,现在我正在尝试同时混合两个样本:

我已经能够从我的数据库中添加数据并在某种程度上混合它们,但我不知道如何将数据库字段连接到两个级别的自定义 Views列表。

在我到达 MainActivity.java 上的 ExpandableListView 后,我迷路了,我认为代码可能有一些重复的方法,可能是 dataAdapter 和 [ 的使用之间的混淆=15=] 和 HashMap<String, List<String>>() 可能是错误的,但我不知道如何解决这些问题,所以,我请求一些帮助来处理这种情况。

感谢 psikink 的支持,我找到了解决此问题的方法。

实际上,在整整一周的时间里,我一直在寻找使用自定义适配器的 ListViews and ExpandableListView 简单示例的方法,但是一旦我能够理解所提供建议的思路,它就是方式更容易处理这种情况。

转折点是了解 SimpleCursorTreeAdapter and to pay more attention to SQLiteAssetHelper 方法。

代码一准备好,我就会将它上传到我的GitHub profile,如果可能的话,我会尽量把它带到这里。

到目前为止,我想这个 piece of code 可能会有帮助。

感谢 Stack Overflow 和 psikink 的帮助!

对于那些试图从预先填充的 SQLite 数据库中获取数据到 ExpandableListView, you can simply use this sample code 我在这里和那里问这个问题后创建的人。

您只需更换 the database in this project by yours and refactor the respective fields to match your database name, table and items 以满足您的需求。

基本上,使用 SimpleCursorTreeAdapter, you'll be able to select two levels of data (group and child) from your database and SQLiteAssetHelper 可以让您从资产文件夹 (/app/src/main/assets/databases/) 中预先存在的文件加载它。