小编Woj*_*k W的帖子

Jetpack Compose - 在运行时动态更改导航的起始目的地

有没有办法startDestination在运行时动态更改 NavHost 的参数?

on boarding问题:我只想在您第一次启动应用程序时显示屏幕。每次启动时我都想显示登录屏幕。这就是为什么我必须startDestination在运行时动态改变。

但是,每次我尝试这样做时都会收到错误:

java.util.NoSuchElementException: List contains no element matching the predicate.
        at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:181)
        at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(NavHost.kt:141)
        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:116)
        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
        at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:115)
        at androidx.compose.animation.CrossfadeKt$Crossfade$4$1.invoke(Crossfade.kt:110)
        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
        at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
        at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:124)
        at androidx.compose.animation.CrossfadeKt.Crossfade(Crossfade.kt:55)
        at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:141)
        at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:13)
        at androidx.navigation.compose.NavHostKt$NavHost$5.invoke(Unknown Source:10)
        at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:145)
        at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2375)
        at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:2643)
        at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3260)
        at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:3238)
        at androidx.compose.runtime.SnapshotStateKt__DerivedStateKt.observeDerivedStateRecalculations(DerivedState.kt:341)
        at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(Unknown Source:1)
        at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3238)
        at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3203)
        at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:771)
        at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1031)
        at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:125)
        at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:534)
        at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$2.invoke(Recomposer.kt:503)
        at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:34)
        at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109) …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack android-jetpack-navigation android-jetpack-compose

5
推荐指数
0
解决办法
1379
查看次数