猿问

“回收视图”与“列表视图”

“回收视图”与“列表视图”

来自Android开发者(创建列表和卡片):

ReccyclerView小部件是ListView的一个更高级和更灵活的版本。

好吧,听起来很酷,但是当我看到这张图片的时候,我真的很困惑这两者之间的区别。

上面的图片可以很容易地由ListView使用自定义适配器。

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


缥缈止盈
浏览 340回答 3
3回答

撒科打诨

要使列表视图具有良好的性能,您将需要实现Holder模式,这很容易造成混乱,特别是当您希望用几种不同的视图填充列表时。“回收视图”将这一模式纳入其中,使其更难搞砸。它也更灵活,更容易处理不同的布局,而不是直线的,就像网格一样。

波斯汪

ListView是他的祖先RecyclerView..有很多事情ListView不是没有做,就是没有做好。如果你要收集ListView通过将问题抽象到不同的领域来解决这个问题,你最终会得到类似于回收商的观点。下面是清单视图的主要问题点:没有强制执行View对于相同的项类型重用(请参阅ListView,如果您研究getView方法,您将发现没有什么可以阻止程序员为每一行创建一个新视图,即使一个视图是通过convertView变量)没有阻止昂贵的findViewById使用(即使您正在回收视图,如前所述,开发人员也有可能调用findViewById若要更新子视图的显示内容,请执行以下操作。的主要目的ViewHolder花纹ListViews缓存findViewById打电话。然而,只有当您知道这一点,因为它根本不是平台的一部分时,这才是可用的)只支持行显示视图的垂直滚动(回收器视图不关心视图的放置位置和移动方式,它被抽象为LayoutManager..因此,回收器可以支持传统的ListView如上所示,以及类似于GridView,但它并不局限于此,它可以做更多的事情,但是您必须做编程的基础工作才能实现这一点)。添加/删除动画不是考虑的用例。这完全取决于你如何解决这个问题(比较一下“回收视图”)。适配器类通知*方法提供v.ListViews以获得一个想法)。总之RecyclerView是一种更灵活的方法。ListView,尽管您可能需要进行更多的编码。
随时随地看视频慕课网APP

相关分类

Android
我要回答