RecyclerView 小部件是 ListView 的更高级和灵活的版本。
好吧,听起来很酷,但是当我看到这张示例图片时,我对这两者之间的区别感到非常困惑。
ListView使用自定义适配器可以轻松创建上图。
ListView
那么,应该在什么情况下使用RecyclerView呢?
RecyclerView
RecyclerView是作为ListView改进而创建的,所以是的,您可以创建带有ListView控件的附加列表,但使用RecyclerView起来更容易:
在向上/向下滚动时重用单元格 - 这可以通过在ListView适配器中实现 View Holder 来实现,但它是可选的,而在RecycleView它是编写适配器的默认方式。
RecycleView
将列表与其容器分离 - 因此您可以在运行时通过设置轻松地将列表项放入不同的容器(linearLayout、gridLayout)中LayoutManager。
LayoutManager
例子:
mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); //or mRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
ItemAnimator
还有更多关于RecyclerView,但我认为这些是主要的。
因此,总而言之,RecyclerView这是一种更灵活的控制来处理“列表数据”,它遵循关注点委托的模式,只为自己留下一个任务——回收项目。