我正在使用導航組件。假設您有這些可能的導航
A -> C -> D -> E
B -> C -> D -> E
因此,您可以從兩個片段 A 和 B 開始一系列螢屏。假設從 E 開始,您需要回傳開始序列的片段,以便 A 或 B。我可以存盤開始片段的 id序列,然后setPopUpTo在呼叫操作進行導航時轉到使用的那個。
還有另一種方法嗎?有話要說pop up to C inclusive嗎?這應該會彈出 C、D 和 E 并回傳到原始片段而無需我指定它。換句話說,我只想不斷彈出片段,直到我指定的片段(在本例中為 C)也彈出。
uj5u.com熱心網友回復:
要彈出您的堆疊,您可以使用
navController.popBackStack(R.id.action_group_to_preview, false)
uj5u.com熱心網友回復:
為了避免在 backstack 中記住目的地,你可以這樣做(kotlin):
val firstFragment = findNavController().backQueue.firstOrNull { it.destination.id == R.id.fragmentA }?.destination?.id
firstFragment?.let {
val navOptions = NavOptions.Builder()
navOptions.setPopUpTo(firstFragment,false)
findNavController().navigate(firstFragment,null,navOptions.build())
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/517545.html
標籤:安卓安卓片段安卓架构导航
