【问题标题】:Nested RecyclerViews or RecyclerView inside a ScrollView?在 ScrollView 中嵌套 RecyclerViews 或 RecyclerView?
【发布时间】:2017-03-24 15:55:09
【问题描述】:

假设我想要一个水平列表,它本身包含几个 - 可变数量 - 某些视图的垂直列表(几个文本视图和按钮,没什么复杂的)。

将其实现为具有嵌套 RecyclerViews(vertical) 的 RecyclerView(horizo​​ntal) 或水平 ScrollView 并以某种方式“附加”我的垂直 RecyclerViews 会更有效吗?

【问题讨论】:

  • 两者都不是,当两者都可动态滚动时,不建议使用嵌套视图。 Android 不能很好地处理这个问题。很难确定您究竟要滚动的位置/内容,并且由于适配器必须管理实际显示的视图,因此通常最终只是令人头疼。不是不能做,只是不推荐。

标签: android performance android-layout android-recyclerview


【解决方案1】:

您可能需要一个 ViewPager(一个可水平滑动的容器),它在每个页面中都包含一个垂直 RecyclerView。

如果您使用的是 AndroidStudio,有一个代码模板(在“新建”菜单中)可以让您快速创建 ViewPager 以帮助您入门。

【讨论】:

  • 我知道 ViewPagers,但在这种情况下,我所有的 RecyclerViews 都将位于单独的片段中,这意味着我无法在它们之间进行拖放(将一个项目从一个 RV 移动到另一个)。
  • 嗯,我不确定您是否可以在不同片段中的不同 RV 之间轻松拖放(但这可能是不同的 SO?)。
  • 嗯,不,这就是我的意思。如果我将 ViewPager 与片段一起使用,那么我不能在不同的片段之间使用它。如果所有房车都在同一个视图中,那么我可以做到。
  • 我明白了。我认为您尝试使用单个 RV 完成的工作将非常复杂。 RV 的本质是它允许复杂的结构,但这听起来像用单个容器来完成是非常困难的。
  • @MarkoStojanovic 如果您的目标是拖放,我建议您使用带有管理标题和不同视图类型的适配器的单个 RecyclerView。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-11
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 1970-01-01
相关资源
最近更新 更多