115.Android 简单的多级树结构列表+正常列表结合使用(RecyclerView) 两种方式实现(自定义adapter实现和使用BaseQuickAdapter库实现)
scnullg:
public List convertData2Node(List nodeBeans) {
for (int i = 0; i < nodeBeans.size(); i++) {
NodeBean n = nodeBeans.get(i);
if(n.getChildren().size() > 0){
n.getChildren().clear();
}
for (int j = i + 1; j < nodeBeans.size(); j++) {
NodeBean m = nodeBeans.get(j);
if(m.getChildren().size() > 0){
m.getChildren().clear();
}
if (m.getPid() != null) {
//n时m的父节点
if (m.getPid().equals(n.getId())) {
n.getChildren().add(m);
m.setParent(n);
//m时n的父节点
} else if (m.getId().equals(n.getPid())) {
m.getChildren().add(n);
...
这个可以修改优化一下, 把原本的子节点清除, 否则在动态添加节点时,因之前的节点已经排好父子顺序,会导致递归重复多次添加Node
|