《第一行代码》第二版 学习总结8 RecyclerView基础知识

     最近利用下班时间,找了看什么书比较适合初学android的朋友,很多人推荐了这本书,于是就买了一本,感觉看书,思考,动手,再思考和总结这样过程还是很有必要的,于是就打算把自己学习的东西简单的总结一下;方便自己以后查找,也有利于学习的巩固。在这里首先要感谢一下书籍的作者——郭霖前辈

     上一部分我们介绍到了ListView的基本使用,这部分来介绍一个更强大的滚动控件,之所以在有了ListView之后还搞出来一个RecyclerView,那当然是它的功能更强大啦。主要体现在,使用更简单,不用想着如何优化ListView的性能问题;可以实现更多样式的滚动布局(横着来,瀑布式等)


1,RecyclerView简介以及使用步骤

      首先,它不是在内置系统SDK当中的,所以需要添加对应的support库(在build.gradle中修改),并且在布局中引用该控件需要把完整的包路径写出来。

      在使用的时候,基本步骤和ListView基本一样(可点击查看ListView用法),就是在自定义适配器时候有所区别:

第一步:自定义有一个静态的内部类ViewHolder继承RecyclerView.ViewHolder,并且定义自定义布局中对应控件的实例对象,然后通过构造函数传入自定义布局最外层布局实例对其中控件初始化;其作用和我在ListView中的使用自定义内部类缓存子项布局控件来提升ListView的运行效率一样,只不过在这里都做好了封装。

第二步:重写自定义适配器构造方法,实现对数据(自定义数据类型数据,通常由活动来完成初始化)的初始化

第三步:重写onCreateViewHolder()方法,实现自定义布局加载,获取自定义布局实例;这里就需要用到第一步中创建的自定义ViewHolder了;

第四步:重写onBindViewHolder()方法,将初始化的数据(构造方法完成)与自定义布局实例绑定(第三步完成)

第五步:重写getItemCount()方法,告诉RecyclerView一共有多少个子项


在活动当中可以实现的控制以及使用步骤:

第一步:获取RecyclerView控件实例

第二步:获取布局管理器,这个可以用于设置布局的方向(纵向/横向),布局的样式(普通/瀑布等);添加布局管理器到第一步获取的实例中

第三步:获取自定义适配器实例并添加到第一步获取的实例中


2,示例代码

这里就不写了,因为内容不难,但是又比较多(可以看下面我截的图),时间很宝贵呀,可以点击下载源码查看。




3,运行结果

第一步:运行程序

                           

第二步:点击“实现纵向布局”,返回

                           

第三步:点击“实现横向布局”,返回

                            

第四步:点击“实现瀑布式布局”

                            

第五步:依次点击图片,文本,空白处

                             

                             

                             


总结:RecyclerView的另一大优点就是可以很简单的实现子项自定义布局中任一控件的点击事件,还有就是它不同与ListView,它的最外层布局的点击事件也要自己添加;当然在ListView中的最外层布局点击事件也是自己实现,只是通常是放在加载该ListView的活动中去实现。