RecyclerView.Adapter优化了吗?

昨天写了一篇「还在用ListView?」讲的内容是RecyclerView的使用技巧以及一些常用的开源库,有朋友反馈“我已经在用recyclerview了”,那么如何让它更好用呢?此时我想到了优化RecyclerView.Adapter,因为在RecyclerView还没出来之前我就写过一篇「ListView之Adapter优化」,通过这篇文章的优化思路可以在原来的代码上修改部分代码用在优化RecyclerView.Adapter上,一如既往的好用。

本次主要讲两个方面的优化

  • 精简代码
  • 扩展功能

精简代码

正常没优化的写法:

优化后,是这样的:

优化前和优化后的代码量是3:1的比例!

我的天啦!太不可思议了!

现在来分析,如何优化的?(带着问题学习)
思路:
找到重复部分代码,抽取到基类,非重复部分用抽象方法代替,具体让子类实现。
说了思路在看看具体代码BaseQuickAdapter里面怎么写的:

接下来再看看BaseViewHolder怎么写的:

利用SparseArray来做缓存,把常用方法全部写好,从而避免冗余代码。


扩展功能

大家都知道RecyclerView没有ItemClick方法,可以在上面提过的BaseQuickAdapter里面添加ItemClick,可以这样写:

还可以添加一些常用的方法如:

代码我已经上传到GitHub上了,有兴趣的同学Star或者一起共同将它完成的更完善!送大家一句我非常喜欢的话:不分享谁与你共享呢?

源码地址:传送门

打赏支持我写出更多好文章,谢谢!

打赏作者

打赏支持我写出更多好文章,谢谢!

2 2 收藏 评论

关于作者:陈宇明

微信公众号「码个蛋」Android技术、职场精进、周一至周五早上7点准时推送。为你提供最快捷的精进之路。 个人主页 · 我的文章 · 61 ·      

可能感兴趣的话题



直接登录
跳到底部
返回顶部