gpt4 book ai didi

android - 我们应该使用 RecyclerView 来代替 ListView 吗?

转载 作者:IT老高 更新时间:2023-10-28 12:52:14 25 4
gpt4 key购买 nike

Android 文档说:

The RecyclerView widget is a more advanced and flexible version of ListView. This widget is a container for displaying large data sets that can be scrolled very efficiently by maintaining a limited number of views. Use the RecyclerView widget when you have data collections whose elements change at runtime based on user action or network events

其实ListView只要不影响效率就可以做到以上所有,而我们在使用RecyclerView代替ListView :

  1. 没有用于列表项选择的 onItemClickListener() - solution

  2. 列表项之间没有分隔符 - solution

  3. 没有内置的重叠选择器,点击列表项时没有视觉反馈 - solution

  4. 没有 addHeaderView 用于列表标题 - solution

也许还有更多问题...

所以当我们用RecyclerView来代替ListView时,我们必须做很多额外的编码才能达到和ListView一样的效果。

问题:

  • Is it worth that we replace ListView with RecyclerView totally ?
  • if not then in which case should we better use RecyclerView instead ListView, and vice versa ?

最佳答案

如果 ListView 适合您,则没有理由迁移。如果你正在编写一个新的 UI,你最好使用 RecyclerView。

当您需要自定义列表或想要更好的动画时,RecyclerView 非常强大。 ListView 中那些方便的方法给人们带来了很多麻烦,这也是 RecyclerView 为他们提供更灵活的解决方案的原因。

您需要进行迁移的主要更改是在您的适配器中。如果您想继续调用 notifyDataSetChanged,您将失去大部分动画和绑定(bind)优势。但是,如果您可以更改适配器以调度详细的通知事件(添加/删除/移动/更新),那么您将获得更好的动画和性能。这些事件让 RecyclerView 选择正确的动画,它还有助于避免不必要的 onBind 调用。如果您的项目 View 很复杂,您将获得巨大的好处。此外,今后还会有更多 RecyclerView 周围的组件。

关于android - 我们应该使用 RecyclerView 来代替 ListView 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28392554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com