Объединение потоков 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
Ответить

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

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

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

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

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