Метод onItemAtEndLoaded () вызывается только один раз и больше не повторяется в библиотеке подкачки - PullRequest
0 голосов
/ 11 июня 2019

Недавно я начал работать в Котлине. Я играю в библиотеке пейджинга, используя механизм BoundaryCallback. Это хорошо работает, когда нет сбоя в вызове API, но в случае сбоя нет возможности повторить вызов сервера. onItemAtEndLoaded() никогда больше не звони.

Я попробовал все, в том числе решения, представленные на разных порталах. Ниже приведены настройки PageConfig, которые я сейчас использую.

val pagedConfig = PagedList.Config.Builder()
            .setPageSize(DATABASE_PAGE_SIZE)
            .setPrefetchDistance(0)
            .setEnablePlaceholders(true)
            .build()

Я также пробовал с 'setEnablePlacehoder' true и false оба, но безуспешно. Пожалуйста, помогите мне, если у кого-то есть хороший опыт работы с библиотекой подкачки.

1 Ответ

0 голосов
/ 11 июня 2019

У меня была похожая проблема при использовании этой библиотеки.

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

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

См. Retryable Interface : https://medium.com/@SaurabhSandav/using-android-paging-library-with-retrofit-fa032cac15f8

...