Error:

java.lang.IllegalArgumentException: Navigation destination that matches request NavDeepLinkRequest{ uri=android-app://androidx.navigation/book_screen } cannot be found

Navroot host:

animatedCompose("${Graph.BOOK}/{id}",
arguments = listOf(
    navArgument("id"){
        type = NavType.LongType
        defaultValue = -1
    }
)
    ){
    val id = it.arguments?.getInt("id") ?: -1
    val actionText = if(id != -1) "Save" else "Add"
    val title = if(id != -1) "Edit Book" else "Add New Book"
    BookScreen(navHostController, title=title, actionText=actionText)
}

From within another screen:

 Scaffold(
        floatingActionButton = {
            FloatingActionButton(onClick = {
                rootNavHostController.navigate(Graph.BOOK)
            }) {
                Icon(Icons.Filled.Add,null)
            }
        }

我假设,您可以将{id}设置为可选参数.但是,不确定为什么事情在这个时候不起作用.

推荐答案

Solved it by doing this:

animatedCompose("${Graph.BOOK}/?id={id}",
  arguments = listOf(
            navArgument("id"){
                type = NavType.IntType
                defaultValue = -1
            }
        ){}

Android相关问答推荐

致命异常:java.lang. SecureExcellent::用户10021和当前进程都没有android. permissions.Change_WIFI_STATE

如何处理穿戴构图上的长点击事件?

如何在Jetpack导航中不显示目的地?

添加可组合元素的列表?

Jetpack编写错误(java.lang.NoSuchMethodError:无接口方法startRestartGroup)

Android-交叉引用表中的ForeignKey用于什么?

在 kotlin 协同 routine 中,如何将数据范围限定为请求路径(以 MDC 为例)?

使用 settings.gradle 文件将 Firebase 依赖项添加到 Android 项目

通知使用默认语言,屏幕显示多种语言,同时通过 AppCompatDelegate 设置应用程序语言

为什么@PrimaryKey val id: Int? = null 在创建 Room 实体时有效吗?

在 Jetpack Compose 中使用 ViewModel 实现 startActivity 的最佳实践

组成不重叠的元素

在 Jetpack Compose 中清除列表时可组合不重组

如何在jetpack compose中创建水印文字效果

如何使用底页,启用和展开父交互

Android:在模块 jetified-play-services-measurement 和 jetified-play-services-measurement-impl 中发现重复类

为什么使用 React Native 和 expo 创建的 APK 体积这么大?

如何在 flow.stateIn() 之后从流中的另一个函数发出emits ?

如何从构建的流对象中发出值

如何增加 BottomSheetDialog 的高度以跟随垂直平移