RecyclerView

时间:2016-03-18 17:50:55

标签: android android-recyclerview

我想在垂直的recyclerView中使用Horizo​​ntal可滚动项。在任何情况下,水平项目都不会超过10。

我想到了两种方法 1)水平Recyclerview作为垂直RecyclerView中的项目 2)自定义horizo​​ntalScrollView作为垂直RecyclerView中的项目

我已经实现了第一个面临滚动问题的人,但我想我会管理它。

我的问题是,为什么不采用第二种方法。我已经看到了关于SO的所有相关问题,并且他们中的大多数尝试使用第一种方法。为什么会这样?

有什么缺点?特别是我在水平视图中的数量有限。

任何指针都会很有帮助。

1 个答案:

答案 0 :(得分:1)

为什么我们使用RecyclerView而不是LinearLayout?

因为如果我们使用包含(比如50项)的LinearLayout,它们将全部呈现在屏幕上(50个视图),这将导致非常非常糟糕的性能问题和可伸缩性问题。 RecyclerView会初始化仅在屏幕上显示的视图,比方说7个视图,并且它们将在每个新行中被回收。

为什么我们使用Horizo​​ntal Recyclerview而不是Horizo​​ntal ScrollView?

通常情况并非如此。如果每行中有多个项目需要回收,那么您应该使用Horizo​​ntal RecyclerView,否则根本不重要。

总结一下,

垂直RecyclerView中的视图将被回收,无论它是否具有另一个水平的RecyclerView或Horizo​​ntal ScrollView,但Horizo​​ntal ScrollView内的视图将不会被回收,并且Horizo​​ntal RecyclerView内的视图将被回收,因为它是RecyclerView。

如果您的Horizo​​ntal RecyclerView中没有多个项目,则应使用Horizo​​ntal ScrollView。