Jetpack Создать изменяемое состояние, не сохраняя состояние ⇐ Android
Jetpack Создать изменяемое состояние, не сохраняя состояние
У меня есть экран аутентификации, на котором у меня есть textUser, на котором я должен не забыть сохранить состояние, но когда я перехожу к экрану, а затем возвращаюсь к экрану, нажимая кнопку «Назад», переменная textuser по какой-то причине сбрасывается. Разве вся цель mutuablestate() не в том, чтобы решить эту проблему?
var textUser по памяти {mutableStateOf("") } Текстовое поле( значение = код набора ?: "+91", onValueChange = {dialCode = it}, KeyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text), модификатор = Модификатор // .padding(top = 5.dp) .wrapContentWidth() .clickable(onClick = { navController.navigate(NavScreens.Country.route) }), включен = ложь, одиночная линия = правда, метка = { Текст (текст = "") }, цвета = TextFieldDefaults.textFieldColors( контейнерЦвет = Цвет.Прозрачный, отключенИндикаторЦвет = Цвет.Прозрачный, unfocusedIndicatorColor = Цвет.Прозрачный, фокусИндикаторЦвет = Цвет.Прозрачный, focusLabelColor = Цвет.Серый, unfocusedLabelColor = Цвет.Серый ), только для чтения = правда, textStyle = TextStyle(color = colorResource(id = R.color.login_text_enabled)), InteractionSource = помните { MutableInteractionSource() } .также { источник взаимодействия -> LaunchedEffect (interactionSource) { InteractionSource.interactions.collect { если (это PressInteraction.Release) { navController.navigate(NavScreens.Country.route) } } } } ) Текстовое поле( значение = textUser, onValueChange = {textUser = оно}, KeyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text), label = { Text(text = stringResource(R.string.email_id_or_mobile_number)) }, модификатор = Modifier.padding(start =idePadding.dp).align(Alignment.BottomCenter) .fillMaxWidth(), цвета = TextFieldDefaults.textFieldColors( контейнерЦвет = Цвет.Прозрачный, отключенИндикаторЦвет = Цвет.Прозрачный, unfocusedIndicatorColor = Цвет.Прозрачный, фокусИндикаторЦвет = Цвет.Прозрачный, focusLabelColor = Цвет.Серый, unfocusedLabelColor = Цвет.Серый, focusTrailingIconColor = Color.Gray ), одиночная линия = правда, textStyle = TextStyle(color = colorResource(id = R.color.login_text_enabled)) ) поэтому я ожидаю, что textuser будет иметь то же значение даже после возвращения на экран аутентификации
У меня есть экран аутентификации, на котором у меня есть textUser, на котором я должен не забыть сохранить состояние, но когда я перехожу к экрану, а затем возвращаюсь к экрану, нажимая кнопку «Назад», переменная textuser по какой-то причине сбрасывается. Разве вся цель mutuablestate() не в том, чтобы решить эту проблему?
var textUser по памяти {mutableStateOf("") } Текстовое поле( значение = код набора ?: "+91", onValueChange = {dialCode = it}, KeyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text), модификатор = Модификатор // .padding(top = 5.dp) .wrapContentWidth() .clickable(onClick = { navController.navigate(NavScreens.Country.route) }), включен = ложь, одиночная линия = правда, метка = { Текст (текст = "") }, цвета = TextFieldDefaults.textFieldColors( контейнерЦвет = Цвет.Прозрачный, отключенИндикаторЦвет = Цвет.Прозрачный, unfocusedIndicatorColor = Цвет.Прозрачный, фокусИндикаторЦвет = Цвет.Прозрачный, focusLabelColor = Цвет.Серый, unfocusedLabelColor = Цвет.Серый ), только для чтения = правда, textStyle = TextStyle(color = colorResource(id = R.color.login_text_enabled)), InteractionSource = помните { MutableInteractionSource() } .также { источник взаимодействия -> LaunchedEffect (interactionSource) { InteractionSource.interactions.collect { если (это PressInteraction.Release) { navController.navigate(NavScreens.Country.route) } } } } ) Текстовое поле( значение = textUser, onValueChange = {textUser = оно}, KeyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text), label = { Text(text = stringResource(R.string.email_id_or_mobile_number)) }, модификатор = Modifier.padding(start =idePadding.dp).align(Alignment.BottomCenter) .fillMaxWidth(), цвета = TextFieldDefaults.textFieldColors( контейнерЦвет = Цвет.Прозрачный, отключенИндикаторЦвет = Цвет.Прозрачный, unfocusedIndicatorColor = Цвет.Прозрачный, фокусИндикаторЦвет = Цвет.Прозрачный, focusLabelColor = Цвет.Серый, unfocusedLabelColor = Цвет.Серый, focusTrailingIconColor = Color.Gray ), одиночная линия = правда, textStyle = TextStyle(color = colorResource(id = R.color.login_text_enabled)) ) поэтому я ожидаю, что textuser будет иметь то же значение даже после возвращения на экран аутентификации
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Изменяемое состояние не может изменить значение при передаче в качестве аргумента
Anonymous » » в форуме Android - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Изменяемое состояние не может изменить значение при передаче в качестве аргумента
Anonymous » » в форуме Android - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-