android - 带有导航抽屉的导航组件 onBackPressed 问题
问题描述
我有一个导航抽屉,四个片段(A、B、C 和 D),并使用导航组件来定义片段的导航。我可以将导航抽屉与导航组件连接起来,一切正常。
关键是我希望所有的片段在左上角都有“汉堡”菜单,所以我在 AppBarConfiguration 中定义它们以实现我想要的。
但是,这种情况导致了我的问题,每个片段在导航期间创建了多个实例:示例:
Navigate(by open drawer and select menu): A -> B -> C -> D -> C
The back stack: A - B - C - D - C(topmost)
这将在返回堆栈中创建两个片段 C 实例,因此当我按住系统返回按钮直到到达片段 A 时,片段 C 将在片段 D 关闭后再次显示。
我真正想要的是片段 A 必须是真正的根目的地(片段 A 是应用打开时的默认片段),而另一个片段应该在后堆栈中只有一个实例。
Navigate: A -> B -> C -> D -> C -> B -> A -> C
The back stack must be: A - D - B - A - C(topmost)
我怎样才能达到我上面提到的目标?谢谢你。
解决方案
推荐阅读
- asp.net - 在 docker 中使用 4.8 为 4.5 框架构建 .net 失败
- reactjs - 如何在反应中使用ckeditor4上传图像
- javascript - 像在 C 中一样从字符和字节值初始化 ArrayData
- python - NumPy 如何计算矩阵的逆?
- json - 是否可以修改 ServiceNow Virtual Agent Rest API 的响应?
- javascript - 在对象数组中使用 I18n 反应本机问题
- c++ - 链接不同C++标准编译的库有隐患吗?
- laravel - 表单提交时引导模式关闭
- wordpress - 如何通过代码检查 REST API 是否处于活动状态?
- java - 如何从 GoogleCredential 迁移到 GoogleCredentials 并且仍然可以访问 People API?