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())
            },
.......

Пожалуйста, помогите

0 ответов

Другие вопросы по тегам