Paging3 не делает недействительным PagingSource при изменении базы данныхAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Paging3 не делает недействительным PagingSource при изменении базы данных

Сообщение Anonymous »

Я использую Paging3 с Room для загрузки данных как из удаленных, так и из локальных источников. Данные загружаются правильно, но когда я обновляю элементы в комнате, это не сразу отражается на пользовательском интерфейсе. Это отражается, если я перейду на другой экран и вернусь.
В отладчике я вижу, что функция validate() PagingSource не вызывается, когда происходит обновление. Он вызывается, когда я обновляю страницу.
Я также пробовал удалять фотографии, но и там это не работает.
@Query("SELECT * FROM feed_photo WHERE type = :type ORDER BY timestamp DESC")
fun entriesPagingSource(type: FeedPhoto.Type): PagingSource

@Query("UPDATE feed_photo SET reaction_count = reaction_count + 1 WHERE photo_id = :photoId")
suspend fun incrementReactionCount(photoId: String)

override fun getPagedPhotos() = Pager(
config = Config(),
remoteMediator = PhotoFeedRemoteMediator { key ->
// fetches photos and stores in db
},
pagingSourceFactory = {
feedPhotoDao.entriesPagingSource(FeedPhoto.Type.Send)
},
).flow

Модель представления и пользовательский интерфейс
val sentPhotos = observePagedFeed.flow
.cachedIn(viewModelScope)

val sentPhotos = viewModel.sentPhotos.collectAsLazyPagingItems()


Подробнее здесь: https://stackoverflow.com/questions/793 ... db-changes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Paging3: «Не знаю, как преобразовать курсор в тип возвращаемого значения этого метода» при использовании PagingSource в
    Anonymous » » в форуме Android
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Повторное использование PagingSource в Paging3
    Anonymous » » в форуме Android
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Пейджинг3 не лишает аннулирования Pagingsource при изменении DB
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Android PagingSource продолжает загружать данные и бесконечно возвращает данные
    Anonymous » » в форуме Android
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Понимание getRefreshKey PagingSource
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»