【问题标题】:How to concatenate data of multiple ReyclerView Adapters [closed]如何连接多个 ReyclerView 适配器的数据 [关闭]
【发布时间】:2020-05-01 14:46:27
【问题描述】:

我有一个问题,我不知道如何以正确的方式创建这样的布局。

我自己画的))它看起来像一个recyclerView,有多种视图类型。但。我从不同来源获得的“第一项”数据和“第二项”数据。在它们中间,我有一条分隔线。 SecondItems 的 recyclerview 也有分页,但第一项的 recyclerview 没有。如果我没有获得 firstItems 数据,我必须从我的视图中隐藏 firstItems 和 Separator 行。那么我怎样才能以正确的方式实现它呢?创建一个nestedScrollView 并在那里添加2 个recyclerViews?一个用于 firstItems,第二个用于 secondItems。或者只创建1个具有多种视图类型的recyclerView,但也有很多情况,例如我的连接速度很慢,我在获得第一个项目数据后 3 秒后才获得第二个项目数据,反之亦然,我不必更新整个适配器。或者假设我将视图滚动到底部。所以我只对第二个项目使用分页。之后我只需要更新 secondItems 数据,而不需要更新整个适配器数据。我想你明白了。如果您需要更多详细信息,您可以留下任何联系方式,我会尽快与您联系。谢谢。

【问题讨论】:

  • 如果他的屏幕太小而无法容纳所有第一个项目会怎样?顶部是否单独滚动?
  • 我认为有两种方法。一次将它们全部添加到一个nestedscrollview 并关闭recyclerview 嵌套滚动,或者制作一个具有多种视图类型的recyclerview,但正如我所描述的那样会出现问题。
  • 但我正在尝试评估您的实际问题。作为开发人员,我们习惯于拥有巨大的显示器,但我们的客户可能不会。

标签: java android xml android-layout android-recyclerview


【解决方案1】:

您可以使用新的MergeAdapter 类将多个 RecyclerView 适配器连接在一起。请注意,它目前仅在 Alpha 版中可用。有关其工作原理的文章,请参阅 here

【讨论】:

    【解决方案2】:

    您必须使用具有不同视图类型的 recyclerView。您的第一项应该是不同的视图类型,第二项应该是不同的视图类型,并且您的分隔线应该是不同的视图类型。最后,你的布局必须只有一个 recyclerView,没有别的。没有滚动视图或没有其他视图等。检查这里https://medium.com/@droidbyme/android-recyclerview-with-multiple-view-type-multiple-view-holder-af798458763b

    【讨论】:

    • 在这种情况下我不能只更新第二个视图,你也必须喜欢,因为它是一个适配器。我也不能只对一种视图类型使用分页,因为它是一个完整的适配器))
    猜你喜欢
    • 2021-01-05
    • 2020-09-28
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 2020-05-13
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多