всякий раз, когда я пытаюсь перейти с экрана. Камера к экрану. 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
Сериализатор для класса «Navbackstackentry» не найден ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1748361515
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>
[b] 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 [/b] (этот класс определяет все доступные маршруты)
@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")
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79640516/serializer-for-class-navbackstackentry-is-not-found[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия