导航到目的地时仅创建一个片段实例(android)

2024-02-29

我正在使用导航组件。导航时,如果片段已经存在于后台堆栈中,我不想创建新的片段实例,并弹出前面已经存在的片段。

    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(使用前将#替换为@)

导航到目的地时仅创建一个片段实例(android) 的相关文章

随机推荐