Карточка Middle Навигация обновлено

Нижняя навигация с сохранением стека

Вопрос

Как переключать вкладки нижней навигации, сохраняя стек каждой?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

navController.navigate(tab) { popUpTo(navController.graph.findStartDestination().id) { saveState = true }; launchSingleTop = true; restoreState = true }. saveState сохраняет стек уходящей вкладки, restoreState восстанавливает стек выбранной, launchSingleTop не дублирует вкладку.

Ответ

navController.navigate(tab) { popUpTo(navController.graph.findStartDestination().id) { saveState = true }; launchSingleTop = true; restoreState = true }. saveState сохраняет стек уходящей вкладки, restoreState восстанавливает стек выбранной, launchSingleTop не дублирует вкладку.

Разбор

navController.navigate(tab) { popUpTo(navController.graph.findStartDestination().id) { saveState = true }; launchSingleTop = true; restoreState = true }. saveState сохраняет стек уходящей вкладки, restoreState восстанавливает стек выбранной, launchSingleTop не дублирует вкладку.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме