DatePickerDialog
DatePickerDialog mà một dạng Dialog của hệ thống cho phép bạn chọn ngày trên Dialog đó. Để hình dung Dialog này như thế nào thì các bạn có thể thấy hình dạng của DatePickerDialog dưới đây.
Việc sử dụng vô cùng đơn giản chúng ta chỉ cần khởi tạo đối tượng DatePickerDialog với Constructor
public DatePickerDialog(Context context, DatePickerDialog.OnDateSetListener listener, int year, int month, int dayOfMonth)
Với các đối số lần lượt là
- context: Là context mà DatePickerDialog sử dụng
- listener là listener lắng nghe sự khiện khi chúng ta nhấn OK trên Dialog
- year, month, dayOfMonth là năm, tháng, ngày mà chúng ta hiển thị trên Dialog
Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { } }, year, month, day);
Gọi phương thức show() để show dialog
datePickerDialog.show()
Hoặc phương thức dismiss() để tắt Dialog
datePickerDialog.dismiss();
TimePickerDialog
Cũng giống như DatePickerDialog cũng là một dạng Dialog hệ thống nhưng thay vì cho bạn chọn ngày, tháng, năm thì TimePickerDialog cho phép bạn chọn thời gian (giờ, phút giây). Và cũng dễ hình dung các bạn thấy hình ảnh TimePickerDialog ngay dưới:
Việc sử dụng TimePickerDialog hoàn toàn giống như DatePickerDialog.
Calendar calendar = Calendar.getInstance(); final int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Log.e(TAG, "onTimeSet: " + hour + ", " + minute); } }, hour, minute, true); timePickerDialog.show();
Tương tự chúng ta cũng phải gọi phương thức show nếu muốn hiển thị Dialog và dismiss nếu muốn tắt Dialog.
Cả hai ví dụ với DatePickerDialog và TimePickerDialog tôi đều sử dụng Calendar để lấy về ngày và thời gian hiện tại và hiển thị lên 2 loại Dialog ngày.