Получите Android Paging 3.0 с RxJava, работающим на Java (не Kotlin)JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получите Android Paging 3.0 с RxJava, работающим на Java (не Kotlin)

Сообщение Anonymous »

Мне удалось заставить библиотеку подкачки 3.0.0-alpha02 работать с RxJava2 в приложении Kotlin, следуя документации по подкачке 3.
Однако у меня возникла проблема при портировании кода подкачки. в приложение Java, поскольку данные извлекаются по страницам, но извлечение страницы продолжает происходить в фоновом режиме, даже когда я не прокручиваю окно recyclerview. Другими словами, после загрузки страницы 1 он затем загружает страницы 2, 3, 4 и т. д. и продолжает работу.
Я настраиваю разбиение на страницы в модели представления:

Код: Выделить всё

public Observable
> loadItems()
{

PagingConfig config = new PagingConfig(...);

Pager pager = new Pager(config, null, null,
() -> new MyPagingSource());

return PagingRx.getObservable(pager)
}
Затем подпишитесь на действие/фрагмент:

Код: Выделить всё

        disposable = viewModel.loadItems()
.subscribe( pagingData -> {
getAdapter().submitData(getLifecycle(), pagingData);
});
В приложении Java я подписываюсь на фрагмент вместо активности, но в остальном код такой же, как в приложении Kotlin.
Я понимаю, что библиотека подкачки 3 использует внутренние сопрограммы и потоки, поэтому я добавил эту зависимость, но это не имело никакого значения.

Код: Выделить всё

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-rx2:1.3.7'
Изменить:
Демонстрационное приложение Kotlin находится на GitHub и имеет RxJava, а также версию Flow (на основе на примерах Android). Он выполняет пейджинг к поставщику контента телефонии для получения входящих SMS-сообщений.

Подробнее здесь: https://stackoverflow.com/questions/626 ... not-kotlin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»