Код: Выделить всё
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val navController = rememberNavController()
Column {
Row {
Button(onClick = { navController.navigate("home1") }) {
Text(text = "HOME1")
}
Button(onClick = { navController.navigate("home2") }) {
Text(text = "HOME2")
}
Button(onClick = { navController.navigate("home3") }) {
Text(text = "HOME3")
}
}
NavHost(navController = navController, startDestination = "home1"){
composable("home1"){ Text(text = "home1")}
composable("home2"){ Text(text = "home2")}
composable("home3"){ Text(text = "home3")}
}
}
}
}
}

Когда я нажимаю ДОМ2 -> ДОМ3 -> ДОМ2, я получаю следующий стек: дом1 -> дом2 -> дом3 -> дом2.
Но я хочу получить другое поведение. Я хочу, чтобы мое приложение узнавало, есть ли запись с тем же маршрутом в заднем стеке, и если есть, удалите ее, прежде чем отправлять новую. Чтобы я мог перейти домой1 -> дом3 -> дом2 после нажатия ДОМ2 -> ДОМ3 -> ДОМ2.
Вы можете увидеть это поведение в нижней панели навигации приложения YouTube для Android.И как мне это сделать?
Подробнее здесь: https://stackoverflow.com/questions/784 ... gation-api