RecycleView和ListView一样,都是做列表显示View子项的控件,它比ListView更高效和自由。
解析RecycleView,Recycle View意思就是该控件只管回收和显示View子项,而对于如何显示,显示什么,它是不关心的,这给开发过程带来了极大的便利,比如ListView只能作为单列的列表显示,GridView将一个界面表格化,通常情况下GridView通过强制View子项的宽度来显示,在横竖屏切换时的效果很差。
而RecycleView可以实现:
ListView的功能
GridView的功能
横向ListView的功能
横向ScrollView的功能
瀑布流的功能
添加和删除View子项
这些功能,非常强大,可以看出,它几乎可以替代所有的动态布局控件。
这么强大的动态布局控件,得益于它的高度解耦,同样,众所周知,高度解耦,就意味着复杂度提升,相较于ListView、GridView等控件,RecycleView才实现过程是相对较复杂的。
RecyclerView的适配器需要继承自RecyclerView.Adapter,在该适配器将要面向ViewHolder,也就是说,它内部已经实现了缓存复用。
实现GridView功能
已经实现了ListView,对于一个高度解耦的RecyclerView来说,再实现GridView的功能就非常简单了。
新建RecyclerViewDemo2工程。Adapter可以直接拷贝RecyclerViewDemo1中的内