Преобразование потока в MutableStateFlowAndroid

Форум для тех, кто программирует под Android
Гость
Преобразование потока в MutableStateFlow

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


Как преобразовать Flow в MutableStateFlow?

Существует функция stateIn, которая возвращает StateFlow, но не MutableStateFlow.

Мне нужно иметь возможность изменять данные для такого варианта использования:

private val someState = join(flow1, flow2) {state1, state2 -> applySomeTransformation (состояние1, состояние2) }.stateIn(viewModelScope, SharingStarted.Lazily, InitialState) забавное редактирование() { someState.update { //обновление } } Однако, поскольку stateIn возвращает StateFlow, я не могу вызвать обновление...

Пока я использую этот уродливый обходной путь:

private val someState = MutableStateFlow(initialState) в этом { объединить (поток1, поток2) {состояние1, состояние2 -> applySomeTransformation (состояние1, состояние2) }.на каждого { someState.value = это }.launchIn(viewModelScope) } Поскольку someState теперь является MutableStateFlow, я могу вызвать обновление, но это выглядит довольно некрасиво.

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