Сериализатор для класса «Navbackstackentry» не найденAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Сериализатор для класса «Navbackstackentry» не найден

Сообщение Anonymous »

всякий раз, когда я пытаюсь перейти с экрана. Камера к экрану. imageedit < /p>
Android выбрасывает оповещение, как ниже < /p>

serializer для класса «Navbackstackentry» не обнаруживается. Обеспечение того, что класс помечен как «@serializeable», и это сериоризует. Применяется.@Composable
fun AppNav(navController: NavHostController) {

var isBottomBarVisible by remember { mutableStateOf(true) }

val viewModel : CameraScreenViewModel = viewModel()

val density = LocalDensity.current

Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
Scaffold(
bottomBar = {
AnimatedVisibility(
visible = isBottomBarVisible)
) {
BottomNavBar(navController = navController)
}

}
) { innerPadding ->
NavHost(
navController = navController,
startDestination = Screen.Feed,
modifier = Modifier.padding(innerPadding),
popExitTransition = {
scaleOut(
targetScale = 0.9f,
transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f)
)
},
popEnterTransition = {
EnterTransition.None
},
) {
composable{
isBottomBarVisible = true
FeedScreen()
}
composable {
isBottomBarVisible = true
SearchScreen()
}
composable {
isBottomBarVisible = true
NotificationScreen()
}
composable {
isBottomBarVisible = true
OtherScreen()
}
composable {
isBottomBarVisible = false
CameraScreen(
popBack = {
navController.popBackStack()
},
onImageCaptureNavigate = { route ->
navController.navigate(it)
},
viewModel = viewModel

)
}
composable {
ImageEditScreen(
viewModel = viewModel
)
}
}

}
}
}
< /code>
bothernavbar Composable < /strong>
Эта композиция имеет ссылку на Navbackstackentry < /p>

val vavbackstackentry by navcontroller.currentbackstackentryasstate () < /p>

@Composable
fun BottomNavBar(navController: NavHostController) {
val topLevelRoutes = listOf(
TopLevelRoute(Screen.Feed.route, Screen.Feed, R.drawable.ic_feed),
TopLevelRoute(Screen.Search.route, Screen.Search,
R.drawable.ic_search),
TopLevelRoute(Screen.Camera.route, Screen.Camera,
R.drawable.ic_camera),
TopLevelRoute(
Screen.Notification.route,
Screen.Notification,
R.drawable.ic_notification
),
TopLevelRoute(Screen.Other.route, Screen.Other, R.drawable.ic_other),

)
val navBackStackEntry by navController.currentBackStackEntryAsState()
val currentDestination = navBackStackEntry?.destination
NavigationBar(contentColor = Color.White) {
topLevelRoutes.forEachIndexed { index, item ->

NavigationBarItem(
selected = currentDestination?.hierarchy?.any {
it.hasRoute(item.route::class) } == true,
icon = {
Icon(
painter = painterResource(item.resource),
contentDescription = item.name
)
},
onClick = {
navController.navigate(item.route) {
popUpTo(navController.graph.findStartDestination().id) {
saveState = true
}
launchSingleTop = true
restoreState = true

}

},
)
}
}
}

screen
(этот класс определяет все доступные маршруты)
@Serializable
sealed class Screen(val route:String){
@Serializable
object Feed : Screen("Feed")

@Serializable
object Search : Screen("Search")

@Serializable
object Notification : Screen("Notification")

@Serializable
object Other : Screen("Other")

@Serializable
object Camera : Screen("Camera")

@Serializable
object ImageEdit : Screen("ImageEdit")

}


Подробнее здесь: https://stackoverflow.com/questions/796 ... -not-found
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»