Как поймать выбросы Sharedflow из ViewModel в JetPack Compose Navigation?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как поймать выбросы Sharedflow из ViewModel в JetPack Compose Navigation?

Сообщение Anonymous »

У меня возникают проблемы с уловкой эмит на композиционной стороне моего проекта из ViewModel
viewModel Сторона:
< Pre Class = "Lang-Kotlin PrettyPrint-Override">@HiltViewModel
class NavigationManager @Inject constructor() : ViewModel() {
private val _navigationCommands = MutableSharedFlow()
val navigationCommands = _navigationCommands.asSharedFlow()

fun navigate(route: String) {
viewModelScope.launch {
_navigationCommands.emit(route)
Log.d("Navigation", "Navigation Manager called emmited route: $route")
}
}
}

композиционная сторона
val navigationManager: NavigationManager = hiltViewModel()

LaunchedEffect(Unit) {
Log.d("Navigation", "Launched Effect called")
navigationManager
.navigationCommands
.collect { screen ->
navController.navigate(screen)
Log.d("Navigation", "navControllerCalled to ${screen}")
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... navigation
Ответить

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

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

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

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

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