Я использую библиотеку подкачки, и все работает хорошо, когда я напрямую возвращаю DataSource.Factory<Int, Data>
из Dao, а затем настраиваю свой список подкачки следующим образом
pagedList = LivePagedListBuilder(dao().getAllData(), config).build()
Когда я нажимаю наМой элемент списка, он меняется, обновляет базу данных комнаты и с подкачкой автоматически обновляет пользовательский интерфейс.Но мне нужно использовать пользовательский источник данных.Итак, я создал один, и теперь я настраиваю свой список с постраничной рассылкой следующим образом:
pagedList = LivePagedListBuilder(customDatasourceFactory, config).build()
.
Проблема в том, что теперь, когда я обновляю строку в таблице комнат, пользовательский интерфейс не отображается автоматически.обновлено.Я также использую invalidate()
, когда мой набор данных изменен.Но в этом случае, когда я хочу обновить только один элемент, я не могу его использовать, поскольку мой позиционный источник данных затем загружает первую страницу, а когда я нахожусь в середине моего списка, изменяю элемент списка, он переходит наверх.
Итак, в основном я хочу реализовать то же поведение, которое было у меня, когда я возвращал напрямую фабрику источников данных из Дао, но теперь с моим собственным источником данных.