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

时间:2017-12-15 08:24:22

标签: java android database sqlite expandablelistview

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

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

基本上,现在我试图一次混合两个样本:

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

当我到达ExpandableListView上的MainActivity.java后,我迷路了,我认为代码可能有一些重复的方法,可能是dataAdapter与使用{{1}之间的混淆并且listAdapter可能是错误的,但是我不知道如何解决现在这样的问题,所以,我请求一些帮助来处理这种情况。

2 个答案:

答案 0 :(得分:1)

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

实际上,在整整一个星期里,我一直在寻找使用自定义适配器的ListViewsExpandableListView的简单样本的方法,但是只要我能够抓住提供的建议的思维方式,处理这种情况更容易。

转折点是了解SimpleCursorTreeAdapter并更加关注SQLiteAssetHelper方法论。

代码准备好后,我会立即将其上传到我的GitHub profile,如果可能的话,我会尝试将其带到此处。

截至目前,我猜这个piece of code可能会有所帮助。

感谢Stack Overflow和psikink寻求帮助!

答案 1 :(得分:0)

对于那些试图从预先填充的SQLite数据库中获取数据到ExpandableListView的人,您只需使用我在此处和此处提出此问题后创建的this sample code

您只需要替换the database in this project并重构the respective fields to match your database name, table and items,以满足您的需求。

基本上,使用SimpleCursorTreeAdapter,您将能够从数据库中选择两个级别的数据(组和子级),SQLiteAssetHelper将允许您从放在内部的预先存在的文件中加载它assets文件夹(/ app / src / main / assets / databases /)。