【问题标题】:Android RecyclerView set start Position WITHOUT scrollToAndroid RecyclerView 设置开始位置没有滚动到
【发布时间】:2020-11-08 16:34:19
【问题描述】:

场景 - 我使用 RecyclerView 和 FlexboxLayoutManager 创建了一个自定义日历。 RecyclerView 提供了一个 CustomAdapter,其中包含一个 customDayData 列表,范围从 2 年前(730 天)到未来 2 年(730)= 列表中的 1461 个项目。

我想显示当天的日历 - 项目 731。鉴于大量数据,scrollToPosition(731) 将 UI 冻结 3-5 秒 (NOGO)。

解决此问题的方法是什么。许多应用程序设法立即做到这一点,包括谷歌自己的日历对象。是否有简单的解决方法,还是我必须重新考虑加载数据的方式?

【问题讨论】:

    标签: java android android-recyclerview adapter


    【解决方案1】:

    对于大量回收项目,您应该使用分页以获得更好的性能

    【讨论】:

    • Tnx 回复,我一直认为 RecyclerView 的行为总是像分页一样只加载可见数据 +- 一定数量的项目以保持流畅滚动。我实际上可以将 20 年的数据设置到适配器中,并在 200-500 毫秒内加载 RecyclerView。它正在移动到我遇到问题的数据范围内的某一天
    【解决方案2】:

    我将尝试以下解决方案。我不会将单日数据加载到适配器中,而是加载月份并将天数填充到月份项目中。希望这可行,因为它将减少 30 个项目数。我猜 ScrollToPosition 应该相对较快

    【讨论】:

      猜你喜欢
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多