小编Raf*_*dal的帖子

NavGraphBuilder 中的可组合项重复 3 次或更多次

当在 中调用我的可组合项时NavGraph,我遇到问题,它重复 3 次,有时甚至更多次。我查看了拨打电话的位置,但没有看到任何循环或其他东西。

NavGraph

fun NavGraphBuilder.addScheduleDetails(
    navController: NavHostController,
    userDataViewModel: UserDataViewModel,
    titulos: MutableState<String>,
    datosViewModel: DatosViewModel,
){
    val animationState = mutableStateOf(true)
    composable(route = MainDestinations.SCHEDULE_DETAILS_ROUTE+"/{${NavArguments.NOMBRE_HORARIO}}")
    {backStackEntry ->

            Log.w("Call", "ScheduleDetails")
            titulos.value = backStackEntry.arguments?.getString(NavArguments.NOMBRE_HORARIO)!!+" "
            val actions = MainActions(navController = navController)

            DetallesHorarioScreen(
                nombreHorario = backStackEntry.arguments?.getString(NavArguments.NOMBRE_HORARIO),
                userDataViewModel = userDataViewModel,
                onNavToAddSubject = actions.navigateToAgregarMateria,
                datosViewModel = datosViewModel,
                animationState = animationState
            )
    }
}
Run Code Online (Sandbox Code Playgroud)

从日志打印

2022-01-06 19:57:01.548 30533-30533/horarios W/Call: ScheduleDetails
2022-01-06 19:57:01.613 30533-30533/horarios W/Call: ScheduleDetails
2022-01-06 19:57:01.987 30533-30533/horarios W/Call: ScheduleDetails
Run Code Online (Sandbox Code Playgroud)

拨电至composable(route = MainDestinations.SCHEDULE_DETAILS_ROUTE ...)

Card( …
Run Code Online (Sandbox Code Playgroud)

navigation android kotlin android-jetpack-compose

6
推荐指数
1
解决办法
1852
查看次数

安卓撰写。尝试运行基本代码时出错

我开始使用 Android Jetpack Compose。我安装了 Canary,当我创建一个 Empty Compose Activity 并在没有更改的情况下运行它时(你好 Android!)我有下一个错误:

    Process: com.example.jetpacktest2, PID: 24788
    java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
        at androidx.lifecycle.FullLifecycleObserverAdapter.onStateChanged(FullLifecycleObserverAdapter.java:36)
        at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:354)
        at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:196)
        at androidx.compose.ui.platform.AndroidComposeView.onAttachedToWindow(AndroidComposeView.android.kt:808)
        at android.view.View.dispatchAttachedToWindow(View.java:19855)
        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3597)
        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3604)
        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3604)
        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3604)
        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3604)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2376)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1993)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8459)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1256)
        at android.view.Choreographer.doCallbacks(Choreographer.java:995)
        at android.view.Choreographer.doFrame(Choreographer.java:887)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1224)
        at android.os.Handler.handleCallback(Handler.java:900)
        at android.os.Handler.dispatchMessage(Handler.java:103)
        at android.os.Looper.loop(Looper.java:219)
        at android.app.ActivityThread.main(ActivityThread.java:8387)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
Run Code Online (Sandbox Code Playgroud)

我没有修改任何东西,它是Android创建的基本代码。任何帮助表示赞赏。

PS:我加载了在 Android Studio 上制作的其他代码(没有编写)并且它运行没有错误。

android kotlin android-jetpack-compose

5
推荐指数
1
解决办法
572
查看次数