android - 导航到目的地时仅创建一个片段实例(android)
问题描述
我正在使用导航组件。导航时,如果片段已经存在于后台堆栈中,我不想创建新的片段实例,并弹出已经存在于前面的片段。
findNavController().navigate(RequestTransferFragmentDirections.actionRequestTransferFragmentToBlankFragment())
向前寻找解决方案。
谢谢。
解决方案
我遇到了同样的问题,但不幸的是,以前的解决方案对我不起作用,尽管它们应该解决这个问题。谢谢顺便说一句!:)
这对我有用,适应您的代码将是:
findNavController().navigate(
RequestTransferFragmentDirections.actionRequestTransferFragmentToBlankFragment()),
NavOptions.Builder().setLaunchSingleTop(true).build()
)
我在navigate()文档中看到我们可以传递options,因此通过传递NavOptions.Builder().setLaunchSingleTop(true).build()
将创建此类片段的单个实例。
推荐阅读
- python - 如何在python,opencv中的构造函数内部读取相机帧
- linux - 脚本完全执行后如何打印成功消息?
- c# - 来自客户端的 WCF 令牌身份验证调用,无需编辑现有服务客户端调用
- metal - 金属着色器语言中是否有任何容器作为 std::vector ?
- android - 如何使用jetpack compose将焦点状态设置为Button?
- shap - 如何获取 GPyTorch 回归器的 SHAP 值?
- dashboard - 使用 watson studio 云创建仪表板失败
- javascript - 如何用 JavaScript 确定某个元素声明了某个空属性?
- wpf - wpf datagrid mvvm 绑定
- teradata - Teradata 中最伟大的功能是使用两个以上的参数引发错误