我想在垂直的recyclerView中使用Horizontal可滚动项。在任何情况下,水平项目都不会超过10。
我想到了两种方法 1)水平Recyclerview作为垂直RecyclerView中的项目 2)自定义horizontalScrollView作为垂直RecyclerView中的项目
我已经实现了第一个面临滚动问题的人,但我想我会管理它。
我的问题是,为什么不采用第二种方法。我已经看到了关于SO的所有相关问题,并且他们中的大多数尝试使用第一种方法。为什么会这样?
有什么缺点?特别是我在水平视图中的数量有限。
任何指针都会很有帮助。
答案 0 :(得分:1)
为什么我们使用RecyclerView而不是LinearLayout?
因为如果我们使用包含(比如50项)的LinearLayout,它们将全部呈现在屏幕上(50个视图),这将导致非常非常糟糕的性能问题和可伸缩性问题。 RecyclerView会初始化仅在屏幕上显示的视图,比方说7个视图,并且它们将在每个新行中被回收。
为什么我们使用Horizontal Recyclerview而不是Horizontal ScrollView?
通常情况并非如此。如果每行中有多个项目需要回收,那么您应该使用Horizontal RecyclerView,否则根本不重要。
总结一下,
垂直RecyclerView中的视图将被回收,无论它是否具有另一个水平的RecyclerView或Horizontal ScrollView,但Horizontal ScrollView内的视图将不会被回收,并且Horizontal RecyclerView内的视图将被回收,因为它是RecyclerView。
如果您的Horizontal RecyclerView中没有多个项目,则应使用Horizontal ScrollView。