What does the initialKey parameter do in the Pager constructor

﹥>﹥吖頭↗ 提交于 2021-01-29 12:22:09

问题


I am trying to understand what the initialKey does in the Pager constructor, but I cannot find any sort of explanation, not even in the official documentation:

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


Can anyone explain what it does or how it works and how to use it?


回答1:


After testing I believe the initialKey param is meant to indicate a position in the list, not a page.

I did two tests with varying page sizes.

Table with 2000 entries

Page sizes

  • 10
  • 20
  • 100
  • 123

For each page size I used the following as the initialKey for an item at position X

  • initialKey = X
    • this uses the item position as the initialKey
  • initialKey = X / page size
    • this uses the page in which the item is part of

For all results the item would always be correctly loaded in the initial/first chunk of data when I used the initialKey = X. It always failed when I used it as page size.

I am not sure if this is conclusive, but this was my conclusion from the limited tests for my problem.



来源:https://stackoverflow.com/questions/64880752/what-does-the-initialkey-parameter-do-in-the-pager-constructor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!