【发布时间】:2014-09-14 05:50:11
【问题描述】:
将我的应用程序中现有的 Listview 转换为 RecyclerView 有什么好处吗? 还有我应该什么时候使用 RecyclerView??
【问题讨论】:
标签: android listview android-5.0-lollipop android-recyclerview
将我的应用程序中现有的 Listview 转换为 RecyclerView 有什么好处吗? 还有我应该什么时候使用 RecyclerView??
【问题讨论】:
标签: android listview android-5.0-lollipop android-recyclerview
这是一个很难回答的问题。首先:将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)
【讨论】:
RecyclerView 将是未来,它不仅仅是一个 ListView2 和 @reVeres 的回答很好地解释了这个案例。
是时候检查文档和做一点测试了,但不是切换的时候,因为 RecyclerView 是 support-v21,你不能在生产版本中使用它。
【讨论】: