android - 离线地图的这种列表该怎么实现?
问题描述
就是下图这种列表,前两个分组为单层的,其他身份的为双层的,想了好久没想通,只能来请教各位了...
问题解答
回答1:github上很多expandableListView的库可以找找有没有合适的,不过单纯用recyclerView也能实现,adapter里面分3种trpe,标题(热门省份等),次标题(山东省等),具体省份。
点击扩展列表可以直接插入数据然后用adapter.notifyItemIntert()来刷新列表
回答2:推荐两个库https://github.com/zaihuishou...https://github.com/bignerdran...感觉单层的点击效果可以单独处理,直接下载地图,双层的展开,二级菜单下载地图
回答3:我以前简单写过。自己定义一个简单的树形结构,里面记录了子节点、本节点的层数、是否要展示本节点的子节点 和本节点是否为叶节点,根据这些来判断itemType(比如 是叶节点的话点击是下载地图,非叶节点的话是展开下一级列表),不过每次点击都要触发一次notifyDataSetChanged(),我感觉不大好。
Android 打造任意层级树形控件 考验你的数据结构和设计 hongyang大神曾经写过一篇类似的文章,不过他是用的线性表存的
想了一下还是很多坑,默默坐等大神
回答4:推荐的开源recyclerview https://github.com/bignerdran...定义树形结构├─ItemStructure│ ├─ItemParent│ │ ├─ItemChildrens│ │ │ ├─ItemChildren1│ │ │ ├─ItemChildren2│ │ │ ├─ItemChildren3│ │ │ ├─.............ItemStructure作为Item的整个结构,ItemParent作为Item可下拉的部分,ItemChildrens作为最子层可下载的内容。通过ViewType分类HeaderView、ItemParent、ItemChildrens列表
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. MYSQL新建用户设置可以远程访问的问题4. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?5. java - mybatis怎么实现在数据库中有就修改,没有就添加6. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么7. linux - 为什么我在mysql的my.cnf下找不到bind-address?8. MySQL中的enum类型有什么优点?9. mysql多表联合查询优化的问题10. 数据库设计 - MySQL数据库主键问题
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)