小编典典

RecyclerView 与 ListView

all

RecyclerView 小部件是 ListView 的更高级和灵活的版本。

好吧,听起来很酷,但是当我看到这张示例图片时,我对这两者之间的区别感到非常困惑。

在此处输入图像描述

ListView使用自定义适配器可以轻松创建上图。

那么,应该在什么情况下使用RecyclerView呢?


阅读 81

收藏
2022-04-07

共1个答案

小编典典

RecyclerView是作为ListView改进而创建的,所以是的,您可以创建带有ListView控件的附加列表,但使用RecyclerView起来更容易:

  1. 在向上/向下滚动时重用单元格 - 这可以通过在ListView适配器中实现 View Holder 来实现,但它是可选的,而在RecycleView它是编写适配器的默认方式。

  2. 将列表与其容器分离 - 因此您可以在运行时通过设置轻松地将列表项放入不同的容器(linearLayout、gridLayout)中LayoutManager

例子:

mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
//or
mRecyclerView.setLayoutManager(new GridLayoutManager(this, 2));
  1. 动画常见列表动作 - 动画被解耦并委托给ItemAnimator.

还有更多关于RecyclerView,但我认为这些是主要的。

因此,总而言之,RecyclerView这是一种更灵活的控制来处理“列表数据”,它遵循关注点委托的模式,只为自己留下一个任务——回收项目。

2022-04-07