我正在将我的项目迁移到 Jetpack Compose。为此,我从 Compose 的单独单例类中使用
StateFlow
发出事件,并在我的 ViewModel 中使用 collect
发出事件。但是,在发出一个事件后,我的 ViewModel 中的流中没有收集到任何其他信息:
private val _eventsFlow = MutableStateFlow<SheetEvent>(SheetEvent.Collapsed)
val eventsFlow: Flow<SheetEvent> = _eventsFlow
fun produceEvent(event: String) {
var sheetEvent: SheetEvent = SheetEvent.RandomEvent
_eventsFlow.value = sheetEvent
}
@HiltViewModel
class FarmViewModel @Inject constructor(
private val bottomSheetEvents: BottomSheetEvents
) : ViewModel() {
init {
viewModelScope.launch {
bottomSheetEvents.eventsFlow
.collect { event ->
Log.i("FarmViewModel", "flow event: $event)")
}
}
}