问题
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
- this uses the item position as the
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