Android分页库-位置数据源问题
我可以从服务器获取总记录数,因此我使用Android分页库-位置数据源问题,android,android-paging,android-paging-library,Android,Android Paging,Android Paging Library,我可以从服务器获取总记录数,因此我使用positiondatasource进行网络调用。除了一个问题外,一切都很好:即使我不滚动,分页库也会继续从服务器获取所有数据。如何解决这个问题? 使用:androidx.paging:paging运行时ktx:2.1.1 例如: override fun loadInitial(params: LoadInitialParams, callback: LoadInitialCallback<Doctor>) { fetchDataFro
positiondatasource
进行网络调用。除了一个问题外,一切都很好:即使我不滚动,分页库也会继续从服务器获取所有数据。如何解决这个问题?
使用:androidx.paging:paging运行时ktx:2.1.1
例如:
override fun loadInitial(params: LoadInitialParams, callback: LoadInitialCallback<Doctor>) {
fetchDataFromApi(params.requestedStartPosition, params.pageSize) { list, totalCount ->
callback.onResult(list, 0, totalCount)
}
}
override fun loadRange(params: LoadRangeParams, callback: LoadRangeCallback<Doctor>) {
fetchDataFromApi(params.startPosition, params.loadSize) { list, totalCount ->
callback.onResult(list)
}
}
PagedList.Config.Builder()
.setPageSize(14)
.setPrefetchDistance(4)
.setInitialLoadSizeHint(14)
.setEnablePlaceholders(true)
.build()
override fun loadInitial(参数:LoadInitialParams,回调:LoadInitialCallback){
fetchDataFromApi(params.requestedStartPosition,params.pageSize){list,totalCount->
onResult(列表,0,totalCount)
}
}
覆盖有趣的loadRange(参数:LoadRangeParams,回调:LoadRangeCallback){
fetchDataFromApi(params.startPosition,params.loadSize){list,totalCount->
callback.onResult(列表)
}
}
PagedList.Config.Builder()
.setPageSize(14)
.设置预取距离(4)
.setInitialLoadSizeHint(14)
.setEnablePlaceholders(true)
.build()
听起来我花了两天时间研究了一个类似的问题。对我来说,我把我的RecyclerView
包装在NestedScrollView
中。
然而,根据这一点,分页库没有内置的支持
当您将recyclerview放入无限滚动父对象中时,它将布局其所有子对象,因为父对象提供无限维
基本上,NestedScrollView
继续触发获取更多数据,就好像屏幕与完整列表一样长
如果您的情况也是如此,有两种选择:
NestedScrollView
android:fillViewport=“true”
,并更新RecyclerView
使其高度为wrap_content
,并从中删除nestedScrollingEnabled
标志