Wie fange ich die Sharedflow -Emissionen von ViewModel in Jetpack Compose Navigation auf?Android

Forum für diejenigen, die für Android programmieren
Guest
 Wie fange ich die Sharedflow -Emissionen von ViewModel in Jetpack Compose Navigation auf?

Post by Guest »

Ich habe Probleme, den Emit auf der komponierbaren Seite meines Projekts aus dem ViewModel zu fangen
ViewModel -Seite:
< pre class = "Lang-kotlin hübschprint-override">

Code: Select all

@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")
}
}
}
Komponierbare Seite

Code: Select all

    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}")
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post