Результат, который я получаю перед переходом на следующую страницу.

После того, как я перейду на следующую страницу и вернусь на страницу даты рождения, это результат, который я получаю

Date_picker. xml
AndroidView
@Composable
fun DatePicker(
onDateSelected: (Date) -> Unit
) {
AndroidView(
modifier = Modifier.fillMaxWidth(),
factory = { context ->
val view = LayoutInflater.from(context).inflate(R.layout.date_picker, null)
val datePicker = view.findViewById(R.id.datePicker)
val calendar = Calendar.getInstance() // show today by default
datePicker.init(
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH)
) { _, year, monthOfYear, dayOfMonth ->
val date = Calendar.getInstance().apply {
set(year, monthOfYear, dayOfMonth)
}.time
onDateSelected(date)
}
datePicker
}
)
}
Я вот как это использую
DatePicker { date ->
validationViewModel.changeDateOfBirth(date)
}
Это validationViewModel
/** Date of Birth Validation */
var dateOfBirth by mutableStateOf(Date())
private set
@OptIn(ExperimentalCoroutinesApi::class)
val dateOfBirthError = snapshotFlow { dateOfBirth }
.mapLatest { validateAge.execute(dateOfBirth.toString().substring(30)) }
.stateIn(
scope = viewModelScope,
started = SharingStarted.WhileSubscribed(5_000),
initialValue = ValidationResult()
)
fun changeDateOfBirth(value: Date) {
dateOfBirth = value
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... r-to-white
Мобильная версия