Пример работы с DatePickerDialog и TimePickerDialog в Android

В этом уроке мы создадим простое приложение с Date Picker и Time Picker Dialog. Эти компоненты используются для выбора даты и времени непосредственно самим пользователем. В коде они реализованы с помощью классов DatePickerDialogTimePickerDialog и класса Calendar. Подробнее читайте ниже в статье.

Краткий обзор DatePickerDialog и TimePickerDialog в Android

Обычно выбор даты и времени в андроид реализуется с помощью независимых виджетов, но по отдельности они неудобны и занимают больше места на экране, поэтому их чаще используют внутри Dialog. Разработчики системы Android это заметили и создали удобные классы DatePickerDialog и TimePickerDialog соответственно для выбора даты и времени.

Для взаимодействия с пользователем в каждом из этих классов используются интерфейсы обратного вызова onDateSetListener() и onTimeSetListener().

В конструкторе класса DatePickerDialog целых 5 параметров:

  1. Context — контекст приложения
  2. Функция обратного вызова: onDateSet() вызывается, когда пользователь устанавливает дату со следующими параметрами:
    • int year — получает выбранный год из диалога
    • int monthOfYear — хранит выбранный месяц из диалога
    • int dayOfMonth — хранит выбранный день из диалога
  3. int mYear — год, который отображается при создании диалога
  4. int mMonth — месяц
  5. int mDay — день

В конструкторе класса TimePickerDialog также 5 параметров:

  1. Context — требуется контекст приложения
  2. Функция обратного вызова: onTimeSet() вызывается, когда пользователь устанавливает время со следующими параметрами:
    • int hourOfDay — хранит выбранный час дня из диалога
    • int minute — хранит выбранную минуту из диалога
  3. int mHours — час, который отображается при создании диалога
  4. int mMinute — минута, которая отображается при создании диалога
  5. boolean mBool — если false, то формат времени 24 часа, если true — 12 часов.

Подробнее о диалогах в Android читайте в этой статье и по этой ссылке.

Практика. Создание DatePickerDialog и TimePickerDialog в Android

В макете activity_main.xml будет 2 виджета Button: для вызова DatePickerDialog и TimePickerDialog. Выбранные пользователем дата и время будут сохранены в соответствующие поля EditText:

Строки были вынесены в файл strings.xml:

В классе MainActivity нужно инициализировать слушатель и вызывать нужный метод в зависимости от нажатой кнопки:

Результат выполнения программы для работы с DatePickerDialog и TimePickerDialog в Android:

datepickerdialog

Следите за обновлениями раздела Программирование под Android и подписывайтесь на новый статьи по Java и Android.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *