Android двухсторонняя привязка данных datepicker - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь использовать двустороннюю привязку данных для датпикера. Глядя на руководство по двусторонней привязке данных , видно, что платформа имеет встроенную поддержку атрибутов datepicker: android: год / месяц / день, но я не смог найти эти атрибуты в xml ( например, неизвестный атрибут: android: час). Неправильно ли я читаю руководство и что нужно для реализации двухсторонней привязки для datepicker?

1 Ответ

0 голосов
/ 22 июня 2020

Это может быть проблема с Android Studio, но двусторонняя привязка datepicker работает правильно даже с предупреждением «неизвестный атрибут».

xml:

android:day="@={viewModel.day}"
android:month="@={viewModel.month}"
android:onDateChanged="@{(v, year, month, day) -> viewModel.onDateChanged(year, month, day)}"
android:year="@={viewModel.year}"

В ViewModel:

val year = MutableLiveData<Int>()
val month = MutableLiveData<Int>()
val day = MutableLiveData<Int>()

fun onDateChanged(year: Int, month: Int, day: Int) {
    dateTime.value =
        dateTime.value?.withYear(year)?.withMonth(month + 1)?.withDayOfMonth((day))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...