Объединение потоков Kotlin в другой потокAndroid

Форум для тех, кто программирует под Android
Гость
Объединение потоков Kotlin в другой поток

Сообщение Гость »


В приложении для Android у меня есть представление, в котором пользователь задает критерии фильтрации и группировки для списка элементов. Это изменяемые потоки. Функция репозитория, возвращающая поток, должна запускаться при каждом изменении одного из фильтров даты, а полученный список должен обрабатываться с учетом критериев группировки в представлении или модели представления, когда критерии группировки обновляются или репозиторий отправляет обновления.
< br />
ViewModel

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

val dateStart = MutableFlow = ...;
val dateEnd = MutableFlow = ...;
val grouping = MutableFlow = ...;
Репозиторий

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

fun filteredList(dateStart: Flow, dateEnd: Flow): Flow
Наконец, функция viewModel должна запускаться при обновлении фильтров и группировки и возвращать отфильтрованный и сгруппированный окончательный список в виде потока:
ViewModel

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

val orderTotalsFlow = dateEnd.flatMapLatest { de ->
orderItemsRepository.findByDates(dateStart, de)
.map {
// implemented the grouping using grouping Flow
}
}
Однако это не сработает, поскольку не срабатывает, когда

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

grouping
Поток обновляется пользователем. Также я не могу использовать

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

Flow#combine()
, потому что он вернет which looks not feasible.


Источник: https://stackoverflow.com/questions/781 ... other-flow

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