You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio NavBarGraph无法识别sealed类route属性问题咨询

问题根因

BottomBarScreen密封类主构造函数声明的route、title、icon三个参数未添加val修饰符。Kotlin中这类仅写在主构造参数列表、没有加val/var修饰的参数仅能在类初始化逻辑中访问,不会被生成为类的公开成员属性,因此在Nav Graph代码中访问实例的.route属性时,IDE无法检索到对应成员,触发语法报错。
IDE无法识别route成员的报错截图

修复方法

给密封类主构造的三个参数前加上val修饰符,将其声明为类的只读成员属性即可,修正后的代码如下:

import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Home
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material.icons.filled.Person
import androidx.compose.material.icons.filled.ShoppingCart
import androidx.compose.ui.graphics.vector.ImageVector

sealed class BottomBarScreen(
    val route: String,
    val title: String,
    val icon: ImageVector
){
    object Home: BottomBarScreen(
        route="home",
        title = "Home",
        icon=Icons.Default.Home
    )
    object Dashboard: BottomBarScreen("dashboard","Dashboard",Icons.Filled.Menu)
    object Orders: BottomBarScreen("orders","Orders",Icons.Default.ShoppingCart)
    object Profile: BottomBarScreen("profile","Profile",Icons.Default.Person)
}

修改完成后同步工程、等待IDE索引完成,即可正常通过BottomBarScreen.Home.route这类写法调用对应路由字符串,Nav Graph相关代码不会再报成员不存在的错误。


内容的提问来源于stack exchange,提问作者Praneeth Bhargav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 12:27:14