You need to enable JavaScript to run this app. Navigation组件toolbar未根据目的地label更新、始终显示应用名称怎么办
优惠活动
大模型
产品
解决方案
定价
更多

Navigation组件toolbar未根据目的地label更新、始终显示应用名称怎么办

工具栏标题无法随导航目的地动态更新的解决方案

问题本质

你没有将Toolbar和NavController建立绑定关系,Toolbar默认读取Manifest中application节点配置的android:label="@string/app_name"作为固定标题,自然不会跟随导航切换更新显示内容。

具体实现

  • 确认项目中已在宿主Activity布局放置Toolbar、且配置了承载导航图的NavHostFragment
  • 在宿主Activity的onCreate方法中完成绑定即可,代码参考:
    // ViewBinding示例
    val binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)
    
    // 获取当前NavHost对应的NavController
    val navController = findNavController(R.id.nav_host_fragment)
    
    // 若使用自定义Toolbar作为系统ActionBar:
    setSupportActionBar(binding.toolbar)
    setupActionBarWithNavController(navController)
    
    // 若不使用系统ActionBar,直接关联Toolbar即可:
    // binding.toolbar.setupWithNavController(navController)
    
  • 绑定完成后,Navigation组件会自动监听导航目的地切换,把导航图中配置的对应Fragment的android:label值同步为Toolbar标题,不需要手动写导航监听逻辑。
  • 补充提示:当前导航图里的label配置的是Fragment类名(如LoginFragment、WelcomeFragment),可以替换为面向用户的短文本字符串,实际展示效果会更符合产品要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 08:15:04