Библиотека данных подкачки Android возвращает элементы, но onChange вызывается с пустым PagedList - PullRequest
1 голос
/ 16 апреля 2019

У меня проблема с PagedList и пользовательским DataSource, когда моя выборка данных возвращается, как и ожидалось, но мой ViewModel Observer (в данном случае Fragment) получает пустой PagedList в onChanged.

Я пробежал несколько кроличьих ям StackOverflow по этой теме, в этой теме было не так много, но найденный фрагмент подсказал, что это связано с параллелизмом и что выборки должны выполняться синхронно. В моем случае я использую библиотеку Autobahn Socket, которая имеет свои собственные потоки чтения / записи, но я гарантирую, что вызов и получение выполняются в одном потоке Executor, который я также пытался установить как fetchExecutor LivePagedListBuilder.

Другая интересная вещь, это то, что, когда я заменяю выборку сети в loadInitial на выборку локальной базы данных (не используя Room), она работает нормально, что говорит о том, что моя проводка ViewModel / DataSource в порядке. В этом сценарии я также пытался делегировать каждый этап задачи множеству различных шаблонов параллелизма, и он работает каждый раз, что противоречит тому, что многие ответы StackOverflow предполагают, что он должен быть синхронным.

...