【问题标题】:Expanded RecycleView lags扩展的 RecycleView 滞后
【发布时间】:2020-04-23 10:57:15
【问题描述】:

我已经实现了类似于ExpandedListViewRecycleView,但是当类别折叠时(隐藏类别中的项目)有一些滞后,原因是onBindViewHolder调用非常快,例如如果类别有20项目和隐藏的项目onBindViewHolder 将在一瞬间被调用 20 次。

onBindViewHolder 为空也会有滞后

ViewHolders 包含少于 5 个元素

一种解决方案是提供list 而不提供hidden 项目,但我不知道扩展列表视图在这种情况下如何工作,因为扩展列表视图接收所有项目。

有人熟悉这个问题吗?

【问题讨论】:

  • 至少显示适配器和视图。其他人肯定会投反对票????

标签: android android-recyclerview


【解决方案1】:

您必须在展开之前创建内部列表项的视图,以便快速展开和折叠。然而,再次创建每个列表不是一个好的选择,因为在像投掷这样的动作中膨胀内部项目会导致故障。您应该在您的项目中使用内部回收器视图,但是这些回收器视图具有特殊功能。所有内部回收器视图都依赖于相同的回收器视图池,因此一旦您为外部回收器视图中的项目创建列表项,您就可以在另一个外部回收器视图项中使用相同的视图。因此,系统为第一个内部回收器视图创建例如 10 个项目,然后当另一个内部回收器视图扩展时也使用相同的项目。

【讨论】:

  • 有意思,这是否意味着ExpandableListView 使用嵌套列表视图?
  • 是的,实际上是内部 recylerviews,但 recyclerviews 从同一个视图池中选择项目视图。
  • 你可以看那个问题:stackoverflow.com/questions/43332873/… 来制作回收视图池。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-23
  • 1970-01-01
  • 2020-06-22
相关资源
最近更新 更多