我正在使用导航组件。导航时,如果 fragment 已经存在于后台堆栈中,我不想创建新的 fragment 实例,并弹出已经存在于前面的 fragment 。
findNavController().navigate(RequestTransferFragmentDirections.actionRequestTransferFragmentToBlankFragment())
向前寻找解决方案。
谢谢。
最佳答案
我遇到了同样的问题,但不幸的是,以前的解决方案对我不起作用,尽管它们应该解决这个问题。谢谢顺便说一句! :)
这对我有用,适应您的代码将是:
findNavController().navigate(
RequestTransferFragmentDirections.actionRequestTransferFragmentToBlankFragment()),
NavOptions.Builder().setLaunchSingleTop(true).build()
)
我在 navigate() 中看到了我们可以通过的文档options , 所以通过 NavOptions.Builder().setLaunchSingleTop(true).build()
将创建此类 fragment 的单个实例。
关于android - 导航到目的地时仅创建一个 fragment 实例(android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60927327/