如何修复Kotlin Compose中‘Unresolved reference: composable’等导航错误
这俩报错核心原因要么是没加对Compose导航的依赖,要么是导入了传统View体系的NavHost类,按下面步骤来修:
1. 补全导航依赖
打开模块级的build.gradle.kts(老项目是build.gradle),在dependencies里加上Compose导航的依赖:
dependencies { // 其他已有的依赖不动,加下面这行 implementation("androidx.navigation:navigation-compose:2.7.7") // 可以换成最新稳定版 }
加完点Sync Now同步项目。
2. 修正NavHost的导入
你代码里导的androidx.navigation.NavHost是给传统View用的,Compose得用专门的版本,把导入改成:
import androidx.navigation.compose.NavHost // 替换原来的 androidx.navigation.NavHost import androidx.navigation.compose.composable // 这个你已经导了,留着就行
3. 简化初始目的地写法(可选但更清爽)
没必要用NavDestination.createRoute,直接把Screens.Recipes.route当startDestination:
@Composable fun NavGraph(navController: NavHostController) { NavHost(navController = navController, startDestination = Screens.Recipes.route) { composable(route = Screens.Recipes.route) { Recipes() } // 剩下的路由代码保持原样 } }
做完这些同步项目,要是还报错就试试Build -> Clean Project再重新构建。
内容的提问来源于stack exchange,提问作者Riolu01
相关产品推荐
相关产品推荐

