Сохранение состояния экрана A при переходе от экрана A к экрану B и обратно к экрану A с помощью Android NavigationAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Сохранение состояния экрана A при переходе от экрана A к экрану B и обратно к экрану A с помощью Android Navigation

Сообщение Anonymous »


Я пытаюсь разобраться в навигации Android. Я использую androidx.navigation:navigation-compose:2.7.0 Предположим, мне нужны экраны, экран A и экран B. И, скажем, экран A имеет какое-то состояние, например. счетчик. Как мне запрограммировать его так, чтобы при переходе от экрана A к экрану B и обратно счетчик экрана A показывал то же значение, которое он показывал при переходе от A к B?

Я думал, что до тех пор, пока я не вытащил экран из стека навигации, его состояние сохранится, в чем я ошибаюсь?

Например, этот навигационный график:

fun Navigation(navController: NavHostController) { NavHost(navController = navController, startDestination = Screens.Screen1.title) { составной (маршрут = Screens.Screen1.title) { вал viewModel = ScreenViewModel() Screen1(viewModel, count = viewModel.count.collectAsState()) } компонуемый (маршрут = Screens.Screen2.title) { Экран2( onButtonClick = { navController.navigateUp() } ) } } } с этими двумя составными объектами в качестве пунктов назначения навигации:
@Composable fun Screen1 (viewModel: ScreenViewModel, count: State) { Столбец { Кнопка(onClick = {viewModel.onButtonPressed()}) { Текст("Счетчик") } Текст(count.value.toString()) } } @Композитный fun Screen2(onButtonClick: () -> Unit) { Столбец { Кнопка (onClick = onButtonClick) { Текст (текст = «вернуться») } } }
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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