Как обновить элемент списка при использовании библиотеки подкачки и пользовательского источника данных? - PullRequest
0 голосов
/ 01 марта 2019

Я использую библиотеку подкачки, и все работает хорошо, когда я напрямую возвращаю DataSource.Factory<Int, Data> из Dao, а затем настраиваю свой список подкачки следующим образом

pagedList = LivePagedListBuilder(dao().getAllData(), config).build()

Когда я нажимаю наМой элемент списка, он меняется, обновляет базу данных комнаты и с подкачкой автоматически обновляет пользовательский интерфейс.Но мне нужно использовать пользовательский источник данных.Итак, я создал один, и теперь я настраиваю свой список с постраничной рассылкой следующим образом:

pagedList = LivePagedListBuilder(customDatasourceFactory, config).build().

Проблема в том, что теперь, когда я обновляю строку в таблице комнат, пользовательский интерфейс не отображается автоматически.обновлено.Я также использую invalidate(), когда мой набор данных изменен.Но в этом случае, когда я хочу обновить только один элемент, я не могу его использовать, поскольку мой позиционный источник данных затем загружает первую страницу, а когда я нахожусь в середине моего списка, изменяю элемент списка, он переходит наверх.

Итак, в основном я хочу реализовать то же поведение, которое было у меня, когда я возвращал напрямую фабрику источников данных из Дао, но теперь с моим собственным источником данных.

...