I have small app:
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")}
}
}
}
}
}
When i press HOME2 -> HOME3 -> HOME2, i get the following back stack: home1 -> home2 -> home3 -> home2.
But i want to get another behavior. I want for my app to find out if there is an entry with the same route in the back stack, and if there is, delete it before pushing the new one. For i to get home1 -> home3 -> home2 after pressing HOME2 -> HOME3 -> HOME2.
You can see this behavior in YouTube android app bottom navigation bar.
So how can i do it ?