Pager构造函数中的initialKey参数有什么作用

What does the initialKey parameter do in the Pager constructor

我想了解 initialKeyPager 构造函数中的作用,但我找不到任何解释,甚至在官方文档中也找不到:

https://developer.android.com/reference/kotlin/androidx/paging/Pager#%3Cinit%3E(androidx.paging.PagingConfig,%20androidx.paging.Pager.Key,%20androidx.paging.RemoteMediator,%20kotlin.Function0)


谁能解释一下它的作用、工作原理和使用方法?

经过测试,我相信 initialKey 参数是用来指示列表中的位置,而不是页面。

我用不同的页面大小做了两个测试。

Table 有 2000 个条目

页面大小

  • 10
  • 20
  • 100
  • 123

对于每个页面大小,我使用以下内容作为位置 X

的项目的 initialKey
  • initialKey = X
    • 这使用项目位置作为 initialKey
  • initialKey = X / 页面大小
    • 这使用项目所属的页面

对于所有结果,当我使用 initialKey = X 时,该项目始终会正确加载到 initial/first 数据块中。当我将其用作页面大小时,它总是失败。

我不确定这是否是决定性的,但这是我对我的问题进行的有限测试得出的结论。