Сценарий:
Используется навигация Jetpack, и у меня есть два графика навигации g1 и g2 вместе с их экранами (фрагментами).
g1
g2
После навигации с g1 От s1 до g1 s2 до g2 s1 до g2 s2 Я хочу вернуться к g1 s2 .
Проблема:
In g2 s2 Я мог бы позвонить findNavController().popBackStack()
два раза, но я не хочу, чтобы этот экран делал предположения о бэкстэке. Я хочу что-то вроде findNavController().popCurrentGraphFromStack()
. До сих пор я находил это:
findNavController().popBackStack(R.id.**g2**, true)
Он почти делает то, что я ожидал, но вместо того, чтобы перейти к g1 s2 , это собирается g1 s1 (начальный пункт назначения g1 ).
Как это можно решить?
Кстати, с расширением (Kotlin) это может быть очень удобно:
fun Fragment.popCurrentGraphFromStack() {
findNavController().popBackStack(findNavController().graph.id, true)
}