Страницы

Поиск по вопросам

вторник, 7 апреля 2020 г.

Выбор нескольких дат на Календаре

#java #android #material_design

                    
Я использую  библиотеку MaterialDateTimePicker
, и у меня два TextView (Откуда - Куда)... Так вот при нажатии на "Откуда", должен
открыться диалоговое окно с календарем и там выбираю одну дату. Потом при открытии
"Куда", предыдущая выбранная дата должна отображаться, то есть две даты выбираются.
У меня пока для каждого textView по диалогу... Просто мне кажется это неправильный подход.

Так вот хотел спросить, как использовать для обоих TextView один Диалог и при этом
получать два результата? Где именно копать?
    


Ответы

Ответ 1



Создайте локальную boolean переменную, назовите её, скажем, isFrom = false. При клике на кнопку/вьюшку, которая вызывается диалог для "откуда" присваивайте Вашей булевой переменной значение true. Для диалога "Куда", соответственно false устанавливайте обратно. По идее Dialog у Вас открывается примерно таким способом: private void showDatePickerDialog() { Calendar now = Calendar.getInstance(); DatePickerDialog dpd = DatePickerDialog.newInstance( CreateEventActivity.this, now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH) ); dpd.show(getFragmentManager(), "Datepickerdialog"); } Далее перекрываем onDateSet, в котором и будем смотреть в какое текстовое поле вставить значение @Override public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) { String month = String.valueOf(monthOfYear + 1); String day = String.valueOf(dayOfMonth); if (isFrom) fromTextView.setText(day + "." + (month) + "." + year); else whereTextView.setText(day + "." + (month) + "." + year); showTimePickerDialog(); }

Комментариев нет:

Отправить комментарий