Android Studio: Jetpack komponieren Navigationsseiten, wenn Sie schnell hin und her navigieren
Posted: 14 Feb 2025, 06:11
Während der Ausführung der folgenden App: < /p>
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
TestsComposeTheme {
val navController: NavHostController = rememberNavController()
Scaffold { innerPadding ->
NavHost(
navController = navController,
startDestination = NUM.ONE.name,
modifier = Modifier.padding(innerPadding)
) {
composable(route = NUM.ONE.name) {
Column {
Text(
text = "1"
)
Button(
onClick = { navController.navigate(NUM.TWO.name) }
) { Text("Next") }
}
}
composable(route = NUM.TWO.name) {
Column {
Text(
text = "2"
)
Button(
onClick = { navController.navigate(NUM.THREE.name) }
) { Text("Next") }
}
}
composable(route = NUM.THREE.name) {
Column {
Text(
text = "3"
)
}
}
}
}
}
}
}
}
enum class NUM {
ONE, TWO, THREE
}
< /code>
Wenn ich zu Seite drei navigiere, drücken Sie zweimal die Back -Taste und klicken Sie schnell auf "Weiter" von Seite 1, es überspringt Seite zwei und geht direkt zu Seite drei. Wenn ich eine Sekunde warte, bevor ich von Seite 1 auf "Weiter" klicke, geht es wie erwartet zu Seite zwei. Ihre Hilfe wäre sehr geschätzt! Aus irgendeinem Grund funktioniert die Navigation in den Apps, die sie als Beispiele verwenden, ordnungsgemäß.
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
TestsComposeTheme {
val navController: NavHostController = rememberNavController()
Scaffold { innerPadding ->
NavHost(
navController = navController,
startDestination = NUM.ONE.name,
modifier = Modifier.padding(innerPadding)
) {
composable(route = NUM.ONE.name) {
Column {
Text(
text = "1"
)
Button(
onClick = { navController.navigate(NUM.TWO.name) }
) { Text("Next") }
}
}
composable(route = NUM.TWO.name) {
Column {
Text(
text = "2"
)
Button(
onClick = { navController.navigate(NUM.THREE.name) }
) { Text("Next") }
}
}
composable(route = NUM.THREE.name) {
Column {
Text(
text = "3"
)
}
}
}
}
}
}
}
}
enum class NUM {
ONE, TWO, THREE
}
< /code>
Wenn ich zu Seite drei navigiere, drücken Sie zweimal die Back -Taste und klicken Sie schnell auf "Weiter" von Seite 1, es überspringt Seite zwei und geht direkt zu Seite drei. Wenn ich eine Sekunde warte, bevor ich von Seite 1 auf "Weiter" klicke, geht es wie erwartet zu Seite zwei. Ihre Hilfe wäre sehr geschätzt! Aus irgendeinem Grund funktioniert die Navigation in den Apps, die sie als Beispiele verwenden, ordnungsgemäß.