我有一个使用加载的数据列表PagingSource
。
这是我在 DAO 中的代码:
@Query("SELECT * FROM Transport")
fun getAllTransportsPaged(): PagingSource<Int, Transport>
我通过以下方式获取分页数据Flow
:
Pager(config = PagingConfig(
pageSize = 100,
enablePlaceholders = true,
)) {
transportsDao.getAllTransportsPaged()
}.flow
.cachedIn(viewModelScope + Dispatchers.IO)
我有另一个函数正在更新本地数据库中的项目:
@Query("UPDATE Transport SET favorite = :favorite WHERE id = :id")
suspend fun changeFavorite(id: Int, favorite: Boolean)
调用此函数后,列表中的整个数据将从头开始加载。
有没有办法使用分页库只获取更改的数据?