树结构思路总结

1、从网上下载的版本,解析固定的字符串结构,有一个小的bug,已经修复。

下载地址 :http://download.csdn.net/detail/ylj15503473366/9360461

2、初始给出了一级数据,其它数据,在onItemClick的时候查询

下载地址http://download.csdn.net/detail/ylj15503473366/9360727





情况1:,id,title,parentId,level,hasChid,hasParent信息都有时。
使用原始的treeView就好。


情况2:初始给出了所有数据,有id,title,parentId,但是没有level
如果是1级的,就没有parent,有child
其他级的,有parent,有child。
如果树结构,数据一下都返回返回的时候,必定存在父子级关系
必需知道第一级的数据,一级数据,设置level=1,parentId="0"
在onItemClick事件中,获取当前item的id和level,
int parentId=id,
String parentLevel=level;
通过当前的parentId查询所有父级id=parentId的元素,设置查询到的元素level=parentLevel+1;
如此设置后,所有元素就都有level级的值了。在适配器里就可以通过level设置padding了。


情况3:初始给出了一级数据。其它数据,在onItemClick的时候查询
如果是合住状态,就需要查询数据,把查询出来的数据插入到当前的list中,位置为position+1,
数据加入到当前list的时候,需要注意,设置元素的父级id为当前id,设置level为当前level加1。
adapter刷新。


如果是展开状态,循环删除父级id为当前id的元素,adapter刷新。


情况4:初始给出了部门信息,点击item查询人员信息。人员需要在子部门前面展示。
currentElements.addAll(position + 1, listPerson);
currentElements.addAll(position + 1 + listPerson.size(),
getChildElementsFromAllById(parentId));









猜你喜欢

转载自blog.csdn.net/ylj15503473366/article/details/50325137