官方解释为:提供一个固定的View让有限的窗口显示一个大数据集。
简单来说RecyclerView是一个固定大小的View,但可以显示很多数据的控件。通过滚动列表来实现。
也就说RecyclerView相对于ListView,GridView这样的控件来说,他高度抽象化,使得每个模块的依赖都降到了最小,具体来说就是像ListView这样的控件他只能显示一个垂直方向的列表,GridView只能显示一个格子布局。但是RecyclerView就不一样了他将要显示什么布局交给了LayoutManager了,并实现了LinearLayoutManager,GridLayoutManager,StaggeredGridLayoutManager,当然你可以实现自己的布局管理器了。
同时他还内置了ViewHolder类
但他也有一些不足,比如没有条目点击事件,条目长按事件,没有提供添加HeaderView,FooterView方法,也没有实现每个条目之间的分割线,条目添加和移除动画等这些功能,当然他没有提供可能是想让用户自由发挥,但这带来的坏处就是使用RecyclerView的门槛比ListView这样的控件更复杂了。当然关于这些功能我们后面的文章会讲解怎么实现。