Android Jetpack Compose мигает экран навигации
Я использую навигацию в Compose. Когда пользователь переходит от одного экрана к другому, экран мерцает. Мерцание, по-видимому, связано с тем, что экран отображался несколько раз. Я не могу понять, что вызывает создание нескольких композиций.
Вот мой файл Navigation.kt
@Composable
fun Navigation(navController: NavHostController,context: Context) {
NavHost(
navController = navController,
startDestination = Routes.PersonList.route
) {
composable(Routes.PersonList.route) {
var onItemClick: (String) -> Unit= { selectedPerson ->
navController.navigate(Routes.Personetail.route.replace("{id}", selectedPerson)) {
popUpTo(Routes.TestList.route) {
saveState = true
}
launchSingleTop = true
restoreState = true
}
}
PersonList(navController = navController,onItemClick)
}
composable(Routes.PersonDetail.route,
arguments = listOf(
navArgument("id") { type = NavType. IntType})) {backStackEntry ->
backStackEntry.arguments?.getInt("id")
?.let { PersonDetail(it,navController = navController) }
}
}
}
sealed class Routes(val route: String) {
object PersonList : Routes("List")
object PersonDetail : Routes("Detail/{id}")
}
Вот соответствующий фрагмент кода, из которого я перехожуPersonList
экран дляPersonDetails
экран
...........
Card(
modifier = Modifier
.padding(4.dp)
.fillMaxWidth()
.clickable {
onItemClick(personModel.id.toString())
},
.......
Пожалуйста, помогите