Вы можете использовать flattenAsObservable . Он преобразует одно из повторяемого в наблюдаемое, которое испускает каждый элемент:
getItems()
.flattenAsObservable { it }
.filter { <some condition> }
.first()
Здесь getItems
возвращает Single<Collection<SomeObj>>
.
Этот код возвратит наблюдаемое. Возможно, вам придется преобразовать его обратно в один. Будьте осторожны, если нет элементов, то они не могут быть покрыты одним, если вы не укажете значение по умолчанию.