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

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

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

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

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

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

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

0 ответов