最快的Android TreeView出现了!

又又又更新了!

源码地址:https://github.com/niugao/RecyclerListTreeView

版本更新到0.1.8!修正多个bug,增加多项实用功能!

  • 添加从获取节点的相邻哥哥和弟弟的方法:getNextSibling(),getPrevSibling();
  • 添加获取一个node在兄弟中排行的方法:getNodeRank(); 修正插入节点时的bug;
  • 添加了遍历整棵树的方法forEach(),可以代替enumCheckedNodes()方法,从而去除了唯一一处涉及递归操作的地方;
  • 添加了单元测试;

版本更新到0.1.9!增加多项实用功能!

  • 添加获取第最大孩子的方法getFirstChild();
  • 添加获取最小孩子的方法getLastChild();
  • 添加获取第n个孩子的方法getNodeByRank();(名字似乎取的不好)

无缝插入广告:向大家推荐一本Android开发入门书:《Android9编程通俗演义》-清华大学出版社,京东淘宝及各大书店有售。

  • 基于RecyclerView实现。
  • 存储数据的结构并不是Tree,而是一个ArrayList。与所有已知的网上的实现都不一样,大家似乎都跳不出固定思维。 可以比较一下代码量,此实现比其它的少一半都不止。
  • 核心是一个表示Tree的类,但它的本质是一个List。对RecyclerView没有任何改动,对Adapter只有少量封装, 使用者不会产生任何陌生感。也就是说你对RecyclerView能做的,现在依然能做。
  • 以List的形式表式树,带来很多好处:
    1. 大部分情况下,消除了递归。该用递归的地方基本都变成了循环
    1. 节点有序,插入节点时,可以指定它是它爸爸的第几个儿子。
    1. 极其适合在RecyclerView中使用:与List无异,无论根节点还是子节点都对应RecyclerView中的一行,不需对RecyclerView做任何改动 。

有诗为证

远看像棵树
近看不是树
似树而非树
是为牛逼树

示例

在Gradle中添加依赖:

implementation ‘com.edu:recyclerlisttreeview:0.1.8’

定义Adapter:

见示例程序。

构建Tree集合:

见示例程序。

使用Adapter:

见示例程序。

[外链图片转存失败(img-vKLKasvK-1564788158020)(https://github.com/niugao/RecyclerListTreeView/raw/master/snapshots/1.png)]
这里写图片描述
这里写图片描述
这里写图片描述

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值