android - popBackStack 不更新 NavigationUI 上的操作栏
问题描述
这是我完整抽屉的定义代码:
NavigationView navigationView = findViewById(R.id.nav_view);
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_lontr, R.id.nav_att, R.id.nav_djong,
R.id.nav_fon).setOpenableLayout(drawer)
.build();
NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration); // Here my nav action bar
NavigationUI.setupWithNavController(navigationView, navController);
想象一下,一个用户在 nav_lontr,我想给他放一个快捷方式让他回到 nav_home,它看起来像这样:
shortcuttoOther.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().getSupportFragmentManager().popBackStack();
}
});
发送 popBackStack 后,当前的 Fragment 被关闭,然而,尽管返回到 home nav,appbar 仍然保持 Fragment 的名称关闭,此外,在侧抽屉中,关闭的 Fragment 也被选中。为什么即使在使用 popBackStack 关闭当前片段后,我的 NavigationUI 也不会使用当前标签(主页)的标题更新我的 appBar?
不是在我的fragment home的appbar中显示标题,而是显示popbackstack关闭的fragment的标题,也就是已经关闭的fragment。
解决方案
推荐阅读
- django - 试图在模型中将 slug 添加到 get_absolute_url 函数的末尾(Django)
- amazon-web-services - 创建k8s资源并等待它完成继续下一个
- iterator - 如何动态组合生成器?
- python - python FIFO股票投资组合计算
- javascript - Bcrypt 的比较在 Node.Js 中不起作用
- c# - 在 Asp.Net Core 的 HttpWebRequest 上获取“操作已超时”消息
- react-native - react-native-video 的视频组件为同一个 uri 请求了两次
- r - 使用 dplyr 填补开始日期和结束日期之间的所有空白
- digital-logic - 使用布尔代数从 SOP 转换为 POS
- email - doGet 在谷歌插件脚本文件上失败