小编AaN*_*eal的帖子

我们如何在使用 Paging 库 3.0 时将整个对象列表传递给 PagingDataAdapter?

我是分页库 3.0 的新手,我只需要对本地数据库中的数据进行分页。最初,我从数据库中获取 PagingSource<Int, MessageDisplayModel> 并将其用作流。

fun getChatMessages(chatWrapper: ChatWrapper): Flow<PagingData<MessageDisplayModel>> {
    return Pager(
            config = PagingConfig(pageSize = 15,
                    maxSize = 50,
                    enablePlaceholders = true)
    ) {
        xmppChatManager.getChatMessages(chatWrapper)
    }.flow
}
Run Code Online (Sandbox Code Playgroud)

然后在 PagingData 通过 submitData() 方法传递给适配器之后。

lifecycleScope.launch {
        @OptIn(ExperimentalCoroutinesApi::class)
        mViewModel.getChatMessages(chatWrapper).collectLatest {
            adapter.submitData(it) }
    }
Run Code Online (Sandbox Code Playgroud)

现在,我关心的是如何从传递给适配器的 PagingData 中获取 MessageDisplayModel 的实际列表?

android android-paging android-paging-library

8
推荐指数
1
解决办法
1126
查看次数