SQLite分组项目和适用于Android的可扩展列表视图

所以我坚持一些可能很基本的东西。我已经将数据存储在SQLite数据库表中,并希望在可扩展列表视图中显示该数据。数据基本上形成为标题和子标题。一个标题有很多子标题。

检索数据非常简单。我停留的部分是获取数据并将其提供给可扩展列表视图。

我希望可扩展列表视图将标题显示为可以扩展的项目,并将子标题显示为子项。我怎样才能做到这一点?


倚天杖
浏览 163回答 2
2回答

jeck猫

您必须为ExpandableListView提供适配器。有一个基类适配器,您可以根据需要对其进行扩展。

函数式编程

用于创建数据列表。假设Column1为Heading,Column2为SubHeading,请在活动/片段中尝试以下操作:&nbsp; &nbsp; ArrayList<String> headings = new ArrayList<>();&nbsp; &nbsp; HashMap<String, ArrayList<String>> subheadings = new HashMap<>();&nbsp; &nbsp; String heading, subheading;&nbsp; &nbsp; do{&nbsp; &nbsp; &nbsp; &nbsp; heading = cursor.getString(1);&nbsp; &nbsp; &nbsp; &nbsp; subheading = cursor.getString(2);&nbsp; &nbsp; &nbsp; &nbsp; ArrayList<String> tmpChild;&nbsp; &nbsp; &nbsp; &nbsp; if(headings.contains(heading)){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tmpChild = subheadings.get(heading);&nbsp; &nbsp; &nbsp; &nbsp; }else{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; headings.add(heading);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tmpChild = new ArrayList<>();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; tmpChild.add(subheading);&nbsp; &nbsp; &nbsp; &nbsp; subheadings.put(heading, tmpChild);&nbsp; &nbsp; }while (cursor.moveToNext());对于适配器,请在此处尝试我的答案:带有复选框的树
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java