当你使用 action 来进行导航的时候,你可以选择从后退栈中弹出额外的目的地.举个例子,如果你的应用有一个登录流程,一旦用户登录了,你应该从回退栈中弹出所有登录相关的目的地,这样可以保证用户回退的时候不会又回到登录流程中.
为了在一个目的地导航到另一个目的地的时候弹出目的地,可以添加一个 app:popUpTo
属性到关联的 <action>
元素中. app:popUpTo
这个属性告诉 Navigation 在调用 navigate()
的时候从回退栈中弹出一些目的地.这个属性的值是 要在回退中保留的顶层目的地的ID .
你也可以使用 app:popUpToInclusive="true"
来声明这个 app:popUpTo
弹出操作包含了这个属性声明的ID 对象.