为什么LoadParams.requestedLoadSizereturns指定的页面大小是LivePagedListBuilder的3倍?
Why is it that LoadParams.requestedLoadSize returns the specified page size to LivePagedListBuilder times 3?
我正在创建 PagedList
使用:
LivePagedListBuilder(dataSourceFactory, 20)
在我的 PageKeyedDataSource
、loadParams.requestedLoadSize
returns 60 的实现中。我尝试使用其他数字,似乎 loadParams.requestedLoadSize
总是 returns 页面我指定的尺寸是三倍。
有人知道为什么会这样吗?
I tried with other numbers, and it seems that loadParams.requestedLoadSize always returns the page size I specified times three.
这是因为 params.requestedLoadSize
与 loadInitial
不同。
你给LivePagedListBuilder的第二个参数传的是pageSize,不是loadInitial
LivePagedListBuilder(dataSourceFactory, 20)
我注意到 RxPagedListBuilder 上有相同的行为。
RxPagedListBuilder(dataSourceFactory, 20)
如您所料,loadInitial 大小是pageSize 的三倍。
如果要设置loadInitial,必须将PagedList.Config
传递给LivedPagedListBuilder或RxPagedListBuilder的第二个参数。
RxPagedListBuilder(dataSourceFactory,
PagedList.Config.Builder()
.setInitialLoadSizeHint(INITIAL_LOAD_SIZE)
.setPageSize(PAGE_SIZE)
.build()
).buildObservable()
这是 PagedList
的默认行为。如果您检查 PagedList.kt#763 的源代码以获得 loadInitial
页面大小乘以 DEFAULT_INITIAL_PAGE_MULTIPLIER
其值为 3
并且在 loadInitial
之后将进行所有调用使用 params.requestedLoadSize
值
里面PagingConfig
可以设置initialLoadSize
为加载列表时第一次需要设置的数字
Pager(
config = PagingConfig(
pageSize = PAGE_SIZE,
initialLoadSize = 10 //if you need to load 10 items at the first time
)
)
我正在创建 PagedList
使用:
LivePagedListBuilder(dataSourceFactory, 20)
在我的 PageKeyedDataSource
、loadParams.requestedLoadSize
returns 60 的实现中。我尝试使用其他数字,似乎 loadParams.requestedLoadSize
总是 returns 页面我指定的尺寸是三倍。
有人知道为什么会这样吗?
I tried with other numbers, and it seems that loadParams.requestedLoadSize always returns the page size I specified times three.
这是因为 params.requestedLoadSize
与 loadInitial
不同。
你给LivePagedListBuilder的第二个参数传的是pageSize,不是loadInitial
LivePagedListBuilder(dataSourceFactory, 20)
我注意到 RxPagedListBuilder 上有相同的行为。
RxPagedListBuilder(dataSourceFactory, 20)
如您所料,loadInitial 大小是pageSize 的三倍。
如果要设置loadInitial,必须将PagedList.Config
传递给LivedPagedListBuilder或RxPagedListBuilder的第二个参数。
RxPagedListBuilder(dataSourceFactory,
PagedList.Config.Builder()
.setInitialLoadSizeHint(INITIAL_LOAD_SIZE)
.setPageSize(PAGE_SIZE)
.build()
).buildObservable()
这是 PagedList
的默认行为。如果您检查 PagedList.kt#763 的源代码以获得 loadInitial
页面大小乘以 DEFAULT_INITIAL_PAGE_MULTIPLIER
其值为 3
并且在 loadInitial
之后将进行所有调用使用 params.requestedLoadSize
值
里面PagingConfig
可以设置initialLoadSize
为加载列表时第一次需要设置的数字
Pager(
config = PagingConfig(
pageSize = PAGE_SIZE,
initialLoadSize = 10 //if you need to load 10 items at the first time
)
)