Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 如何在使用分页列表适配器时对API进行分页_Kotlin_Retrofit_Retrofit2_Pagedlist_Android Jetpack - Fatal编程技术网

Kotlin 如何在使用分页列表适配器时对API进行分页

Kotlin 如何在使用分页列表适配器时对API进行分页,kotlin,retrofit,retrofit2,pagedlist,android-jetpack,Kotlin,Retrofit,Retrofit2,Pagedlist,Android Jetpack,我有一个应用程序,它在web服务响应中提供了大量数据。我正在使用PagedListAdapter,但我认为这只会导致房间数据库中的分页。我的问题是,有没有办法使用这个PagedListAdapter对API进行分页? 注意:我有一个传递给适配器的diff-util类,我正在使用端点中的@Query(“page”)和@Query(“per_-page”)进行改装 class PostDiffCallback : DiffUtil.ItemCallback<ProductPost>()

我有一个应用程序,它在web服务响应中提供了大量数据。我正在使用PagedListAdapter,但我认为这只会导致房间数据库中的分页。我的问题是,有没有办法使用这个PagedListAdapter对API进行分页? 注意:我有一个传递给适配器的diff-util类,我正在使用端点中的
@Query(“page”)和@Query(“per_-page”)
进行改装

class PostDiffCallback : DiffUtil.ItemCallback<ProductPost>() {

    override fun areItemsTheSame(oldItem: ProductPost?, newItem: ProductPost?) = oldItem?.productId == newItem?.productId

    override fun areContentsTheSame(oldItem: ProductPost?, newItem: ProductPost?) = oldItem?.equals(newItem) ?: false

}
class PostDiffCallback:DiffUtil.ItemCallback(){
覆盖项目相同(oldItem:ProductPost?、newItem:ProductPost?=oldItem?.productId==newItem?.productId
覆盖相同的内容(旧项:ProductPost?,新项:ProductPost?=oldItem?。等于(新项)?:false
}

感谢您的帮助

动态更改页码并再次调用api。
PagedListAdapter,但我认为这只会导致房间数据库中的分页。
错误(或者至少不一定正确-取决于您使用的数据源类型)
我的问题是,是否有办法使用此PagedListAdapter对API进行分页?
不直接使用分页列表适配器,但是,如果您有一个
DataSource.Factory
包装在
LivePagedListBuilder
中,那么您可以设置一个
BoundaryCallback
,它可以运行下一次提取并将数据写入Room。您能举个例子吗@埃皮克潘达福斯