android - 如何在不使用 NavController 将其添加到 backstack 的情况下导航片段?
问题描述
NavController
具有navigate
默认使用 backstack 导航的方法。如何在没有回栈的情况下导航到片段?请注意,我不是在问FragmentTransaction
解决方案
如果您有以下堆栈:
A -> B
并想回到后面的堆栈
A -> C
您可以通过从后面的堆栈中弹出 B 并添加 C 来执行“替换”操作。
在 Navigation 中,这是通过在 XML 中使用app:popUpTo
(app:popUpToInclusive="true"
如果需要也可以选择)<action>
或使用等效的NavOptions
API 来完成的。
<action
android:id="@+id/goToC"
app:destination="@+id/c"
app:popUpTo="@+id/b"
app:popUpToInclusive="true"/>
推荐阅读
- typescript - 从版本 7 更新到 8 后,NestJS 无法解析自定义存储库的依赖关系
- fabricjs - 将相同的元素添加到 2 个不同的画布但在织物 js 中具有不同的坐标
- assembly - 在 x86_64 汇编中打开中断会在 QEMU 中产生三重错误
- bash - 使用“bash 脚本”向“应用程序的 shell”发送命令
- node.js - 有没有办法阻止显示 reactjs 状态页面
- python-3.x - 在轴刻度中使用 Matplotlib 标记
- javascript - Chart.js 使用 select 显示不同的图表
- mysql - 如果行不存在,则 SQL 添加行
- c - 我们什么时候使用ioeventfd又如何?
- javascript - 如何从浏览器运行多个自定义协议