Как сигнализировать Observable для получения большего количества данных

Есть ли способ сигнализировать Observable для получения большего количества данных?

У меня есть буферизированный Observable, который производит 10 элементов, и я хочу, чтобы он продолжал создавать больше предметов только тогда, когда захочу.

Чтобы быть более конкретным, у меня есть бесконечный прокручиваемый Recycler View, я хочу создать больше предметов только тогда, когда я продолжу прокрутку до конца.

Предполагая, что у вас уже есть какой-то источник данных с обратным давлением.

Вы можете использовать запрос (n), чтобы ваш источник данных знал, что вы готовы к большему количеству предметов.

Что вы можете сделать, это иметь Observer, который испускает события scrool страницы, назовем его paginator.

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

  paginator .onBackpressureDrop() .map { lastVisibleIndex -> (lastVisibleIndex + 2) / PAGE_SIZE + 1 } .distinct() .concatMap { page -> getCollectionsObservable(page, pageSize) } .subscribeWith(GetCollectionObserver()) ) }