小编moh*_*mad的帖子

如何刷新分页3库中的页码

我正在使用 paging 3 在回收器视图中加载一些数据。我从服务器获取数据,然后将它们存储在本地数据库中。这是我的 DAO 界面:

@Dao
interface TicketDAO {


    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insert(model: TicketListModel)


    @Query("SELECT * FROM ticket_list ORDER BY lastModifyDate DESC , lastModifyTime DESC")
    fun getTickets(): PagingSource<Int, TicketListModel>


    @Query("delete from ticket_list")
    fun deleteAll()


}
Run Code Online (Sandbox Code Playgroud)

我假设这个接口作为我的数据源类。因为我也从服务器获取数据,所以我使用了这样的远程中介(顺便说一句,我使用 volley 从服务器获取数据):


@ExperimentalPagingApi
class TicketRemoteMediator(val ticketDatabase: TicketDAO, val context: Context) :
    RemoteMediator<Int, TicketListModel>() {

    private val scope = CoroutineScope(Dispatchers.Default)
    private var page = 0
    private var reachedEnd = false
    override suspend fun load(
        loadType: LoadType,
        state: PagingState<Int, TicketListModel>
    ): MediatorResult {
        return …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-volley android-paging

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

android-paging ×1

android-volley ×1

kotlin ×1