【问题标题】:Should I change the existing Listview in my app to RecyclerView?我应该将应用程序中现有的 Listview 更改为 RecyclerView 吗?
【发布时间】:2014-09-14 05:50:11
【问题描述】:

将我的应用程序中现有的 Listview 转换为 RecyclerView 有什么好处吗? 还有我应该什么时候使用 RecyclerView??

【问题讨论】:

    标签: android listview android-5.0-lollipop android-recyclerview


    【解决方案1】:

    这是一个很难回答的问题。首先:将RecyclerView 视为AdapterViews 的继承者,它带来了很多有用的改进,尤其是在每个项目的动画领域。其实Docs也是这么说的:

    RecyclerView 是 ListView 的更高级和灵活的版本。这 小部件是可回收和可回收的大型视图集的容器 滚动非常有效。有时使用 RecyclerView 小部件 包含动态变化的元素的列表。

    您还可以灵活地定义自定义布局管理器和 此小部件的动画。

    所以将来我们可能不再使用ListViews。此外,当从列表中添加或删除项目时,RecyclerView 不需要像 "notifyDataSetChanged()" 这样的东西,这在性能方面是一个巨大的改进。
    如果您想通过说“更高级和灵活的 ListView 版本”来了解 Google 的更多含义,我建议您阅读此博客帖子A First Glance at Android’s RecyclerView

    但要明确回答您的问题:

    将我应用中的现有 Listview 转换为 RecyclerView 有什么好处吗?
    是的。如前所述,RecyclerView 更加灵活,并且免费提供方便的动画。 (就自己做这件事而言)

    我应该什么时候使用 RecyclerView?
    任何适合使用 ListView 的地方都可以使用 RecyclerView。

    还有一个问题:
    是否需要从 ListView 切换到 RecyclerView?
    目前绝对没有!您必须考虑 RecyclerView 在这一点上不是最终的。所以在不久的将来可能会有一些变化、错误修复和新功能。 (作为一个错误的例子:clipToPadding 不能在 atm 工作。幸运的是它已经 has been reported

    【讨论】:

      【解决方案2】:

      RecyclerView 将是未来,它不仅仅是一个 ListView2 和 @reVeres 的回答很好地解释了这个案例。

      是时候检查文档和做一点测试了,但不是切换的时候,因为 RecyclerView 是 support-v21,你不能在生产版本中使用它。

      【讨论】:

      • 什么文件?!我找不到它...你有官方文档或 API 的链接吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      相关资源
      最近更新 更多