Страницы

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

пятница, 21 июня 2019 г.

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

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


Ответ

Создайте локальную 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(); }

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

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