7 votes

Pourquoi LoadParams.requestedLoadSize retourne-t-il la taille de page spécifiée à LivePagedListBuilder fois 3 ?

Je crée un PagedList en utilisant :

LivePagedListBuilder(dataSourceFactory, 20)

Dans mon implémentation de PageKeyedDataSource, loadParams.requestedLoadSize retourne 60. J'ai essayé avec d'autres nombres, et il semble que loadParams.requestedLoadSize retourne toujours la taille de la page que j'ai spécifiée multipliée par trois.

Quelqu'un a une idée de pourquoi cela se produit ?

2voto

aldok Points 4348

J'ai essayé avec d'autres nombres, et il semble que loadParams.requestedLoadSize renvoie toujours la taille de page que j'ai spécifiée multipliée par trois.

Cela est dû au fait que params.requestedLoadSize sur loadInitial est différent.

Ce que vous avez passé en deuxième paramètre de LivePagedListBuilder est la taille de la page, pas loadInitial.

LivePagedListBuilder(dataSourceFactory, 20)

J'ai remarqué le même comportement sur RxPagedListBuilder.

RxPagedListBuilder(dataSourceFactory, 20)

Comme vous l'avez deviné, la taille de loadInitial est trois fois celle de pageSize.

Si vous voulez configurer le loadInitial, vous devez passer PagedList.Config en deuxième paramètre de LivedPagedListBuilder ou RxPagedListBuilder.

RxPagedListBuilder(dataSourceFactory,
    PagedList.Config.Builder()                
    .setInitialLoadSizeHint(INITIAL_LOAD_SIZE)
    .setPageSize(PAGE_SIZE)
    .build()
).buildObservable()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X