Shadow
Shadow

Reputation: 4782

What does the initialKey parameter do in the Pager constructor

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)

enter image description here


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

Upvotes: 1

Views: 1140

Answers (1)

Shadow
Shadow

Reputation: 4782

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.

Upvotes: 3

Related Questions