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

使用NavGraph启动Fragment后Toolbar标题消失的问题求助

解决Toolbar标题短暂显示后消失的方案

1. 先修正代码里的语法错误

你提供的setUpNavigationToolbar方法存在括号未闭合的语法问题,这会导致逻辑执行异常,修正后的代码如下:

private void setUpNavigationToolbar(){
    final NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.container_fragment);        
    NavController navController = navHostFragment.getNavController();

    AppBarConfiguration appBarConfiguration =
          new AppBarConfiguration.Builder(navController.getGraph()).build();
    NavigationUI.setupWithNavController(
            toolbar, navController, appBarConfiguration);
}

2. 检查Fragment内的标题覆盖代码

确认目标Fragment的代码里,没有手动清空或替换Toolbar/ActionBar标题的逻辑,比如以下代码会覆盖NavGraph设置的标题,必须删除:

// 移除这类代码
((AppCompatActivity) getActivity()).getSupportActionBar().setTitle("");
// 或者
toolbar.setTitle("");

3. 确保Toolbar初始化顺序正确

在Activity的onCreate方法中,要先完成布局加载和Toolbar实例化,再调用导航配置方法,顺序如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 先获取Toolbar实例
    toolbar = findViewById(R.id.toolbar);
    // 再执行导航Toolbar配置
    setUpNavigationToolbar();
}

4. 调整AppBarConfiguration的配置逻辑

如果NavGraph包含多个目的地,或者标题仍无法持久显示,可以尝试指定具体的Fragment目的地ID来构建AppBarConfiguration:

// 替换原AppBarConfiguration构建代码
AppBarConfiguration appBarConfiguration =
    new AppBarConfiguration.Builder(R.id.your_target_fragment_id).build();

5. 手动锁定Fragment标题

如果以上方法都无效,可以在目标Fragment的onViewCreated方法中手动设置标题,确保标题持续显示:

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    if (getActivity() instanceof AppCompatActivity) {
        ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle("Sample title");
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:55:16