3

我有一个使用加载的数据列表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)

调用此函数后,列表中的整个数据将从头开始加载。

有没有办法使用分页库只获取更改的数据?

4

0 回答 0