Kaa*_* S. 5 android kotlin android-paging
我正在尝试跟踪无限滚动。我已经在 pagingsource 中实现了跟踪。当我打开页面时,分页加载 2 页。甚至无需滚动,跟踪请求就会发送。如何停止分页加载 2 页?
ExamplePagingSource: PagingSource<String, UIItem>() {
private var scrollDepth = 0
override suspend fun load(params: LoadParams<String>): LoadResult<String, UIItem> {
val pageKey = params.key ?: ""
return try {
val exampleData = getExampleData()
scrollDepth++
trackScroll()
LoadResult.Page(
data = items,
prevKey = if (isFirstPage) null else pageKey,
nextKey = exampleData.pageKey.ifEmpty { null }
)
} catch (e: Exception) {
Timber.e(e, "Error")
LoadResult.Error(e)
}
}
Run Code Online (Sandbox Code Playgroud)
更新 我用 prefetchDistance 解决了它
Kaa*_* S. 12
我用 prefetchDistance 解决了这个问题。如果将预取距离设置为 2。分页库会在倒数第二项调用 api。必须在 PagingConfig 中设置
Pager(
config = PagingConfig(
pageSize = PAGE_SIZE,
prefetchDistance = PREFETCH_DISTANCE
),
pagingSourceFactory = ::pagingSource
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2891 次 |
| 最近记录: |