Я использую библиотеку 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();
}
Комментариев нет:
Отправить комментарий