我现在的问题是,为什么标题中会出现错误消息?我在YouTube上关注Plillip Lackner的一个教程,试图了解如何在多个屏幕之间实现导航,并判断我是否具有相同的更新依赖项,似乎它们是正确的.然而,我收到了这个错误消息,并且我很难找出我配置项目的方式中的错误之处.任何建议都会有所帮助.我的猜测是,这可能与不同版本的类之间的差异有关.

enter image description here

下面是app Build.gradle.kts文件:

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
}

android {
    namespace = "com.example.navigationforbeginners"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.example.navigationforbeginners"
        minSdk = 24
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary = true
        }
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
    buildFeatures {
        compose = true
    }
    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.1"
    }
    packaging {
        resources {
            excludes += "/META-INF/{AL2.0,LGPL2.1}"
        }
    }
}

dependencies {

    implementation("androidx.core:core-ktx:1.12.0")
    implementation("androidx.appcompat:appcompat:1.6.1") //
    implementation("com.google.android.material:material:1.11.0") //
    implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0")
    implementation("androidx.activity:activity-compose:1.8.2")
    implementation(platform("androidx.compose:compose-bom:2023.08.00"))
    implementation("androidx.compose.ui:ui:1.6.2")//
    implementation("androidx.compose.ui:ui-graphics")
    implementation("androidx.compose.ui:ui-tooling-preview")
    implementation("androidx.compose.material3:material3:1.6.1") //
    implementation("androidx.compose.ui:ui-tooling:1.6.2") //
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
    androidTestImplementation(platform("androidx.compose:compose-bom:2023.08.00"))
    androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.6.2") //
    debugImplementation("androidx.compose.ui:ui-test-manifest")

    implementation("androidx.navigation:navigation-compose:2.7.7")
} 

推荐答案

您还需要提供builder参数,这是用于将路由映射到屏幕的最后一个参数.

只需在右括号后添加一对空的花括号来添加该参数,如下所示:

NavHost(navController = navController, startDestination = Screen.MainScreen.route) {

}

现在,编译器可以识别您想要调用的NavHost函数,并接受startDestination参数.

Android相关问答推荐

如何允许我的应用程序在Android 10上运行,同时目标是API 33

Android可组合继承?

如何制作带有图标和文本的Fab

属性可选的涟漪效果ItemBackEarth Borderless不适用于Android 13和更高版本

更改活动(上下文)对接收到的uri的访问权限的影响?

如何迭代 SqlDelight Select 结果而不将所有内容加载到内存中?

仅当先前输入为 yes 时,Android 才会要求下一个输入

Gradle在我的Android Compose项目中继续推广依赖版本

具有管理员权限的 Kotlin 中的多用户系统

Kotlin File(path).walkTopDown() 找不到文件

如何在 Jetpack Compose 中设置卡片高度

在事件中使用 Context/Toast 时不需要的重组 - Jetpack Compose

在 Jetpack Compose 中使用 .observeAsState() 时,如何在更改 MutableLiveData 的值后开始执行一段代码?

Jetpack Compose 部分或开放侧边框

从 Firebase 云存储中获取照片会导致 Android Jetpack Compose 闪烁

组合 - 重新组合图像

协程是否在 if 条件下保持秩序?

在 android list 中添加 IsMonitoringTool 元数据标志的位置

禁用通知权限后启动前台服务导致崩溃(Android 13)

使用协程访问数据库