如何在不使用NavController将片段添加到后台的情况下浏览片段? [英] How to navigate fragment without adding it into backstack with NavController?
问题描述
NavController
具有方法 navigate
,默认情况下使用backstack进行导航.如何在不使用堆栈的情况下导航到片段?请注意,我并不是在问 FragmentTransaction
NavController
has methods navigate
which navigate by default with backstack. How to navigate to the fragment without having backstack?
Please note that, I am not asking about FragmentTransaction
推荐答案
如果您有以下情况,则应叠放:
If you have a back stack of:
A -> B
并想回到
A -> C
您可以通过从后堆栈中弹出B并添加C来执行替换"操作.
You can do a 'replace' operation by popping B off the back stack and adding C.
在导航中,这是通过对< action>使用
或使用等效的 app:popUpTo
(如果需要,还可以选择 app:popUpToInclusive ="true"
)来完成的. NavOptions
API.
In Navigation, this is done by using app:popUpTo
(and optionally app:popUpToInclusive="true"
if needed) to the <action>
in your XML or by using the equivalent NavOptions
API.
<action
android:id="@+id/goToC"
app:destination="@+id/c"
app:popUpTo="@+id/b"
app:popUpToInclusive="true"/>
这篇关于如何在不使用NavController将片段添加到后台的情况下浏览片段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!