【问题标题】:Android. RecyclerView track viewed items安卓。 RecyclerView 跟踪查看的项目
【发布时间】:2021-09-30 12:00:36
【问题描述】:

我在 NestedScrollView 中有两个 RecyclerView,我需要跟踪我的 RecyclerViews 的查看项目。但是使用nestedScrollView 回收器模式不起作用并且所有视图将立即加载的问题,因为 wrap_content 需要完整 RecyclerView 的高度,因此它会一次绘制所有子视图。 有没有办法用这种方法跟踪查看的项目?请帮帮我。

【问题讨论】:

    标签: android android-recyclerview android-nestedscrollview


    【解决方案1】:

    永远不要在NestedScrollView 中使用RecyclerView,因为您的ViewHolders 将不会被回收,并且您将面临OutOfMemoeryExceptions 的危险,它可能适用于小尺寸的列表,但随着列表大小的增加,它会变得更糟, 而不是使用一个ScrollView 和2 个RecyclerView 作为孩子

    你必须完全删除ScrollView,而不是使用一个RecyclerView和多类型ViewHolders,换句话说,你需要将这两个RecyclerView组合到RecyclerView中。强>

    要实现这一点,您可以手动组合这些适配器,也可以使用ConcatAdapter,这取决于您想要什么,如果您想使用ConcatAdapter,这个link 也可以帮助您,但这不是必需的。

    那么您可以采用不同的方法来跟踪 viewHolders 的可见性,例如 layoutManager.findFirstVisibleItemPosition() 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      相关资源
      最近更新 更多