我正在使用导航组件。导航时,如果片段已经存在于后台堆栈中,我不想创建新的片段实例,并弹出前面已经存在的片段。
findNavController().navigate(RequestTransferFragmentDirections.actionRequestTransferFragmentToBlankFragment())
期待找到解决方案。
thanks.
我遇到了同样的问题,但不幸的是,以前的解决方案对我不起作用,尽管它们应该解决这个问题。谢谢顺便说一句! :)
这对我有用,适合您的代码是:
findNavController().navigate(
RequestTransferFragmentDirections.actionRequestTransferFragmentToBlankFragment()),
NavOptions.Builder().setLaunchSingleTop(true).build()
)
我看到在导航() https://developer.android.com/reference/androidx/navigation/NavController#navigate(androidx.navigation.NavDirections,%20androidx.navigation.NavOptions)我们可以传递的文档options https://developer.android.com/reference/androidx/navigation/NavOptions#shouldLaunchSingleTop(),所以通过NavOptions.Builder().setLaunchSingleTop(true).build()
将创建此类片段的单个实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)