/ / select дата народження діалогового вікна - андроїд, android-dialogfragment, android-datepicker, android-дата

вибрати дату діалогу народження - android, android-dialogfragment, android-datepicker, android-date

Як створити діалогове вікно сповіщення, яке я можу вибрати дату народження:

Я хочу, щоб вибирати дату в майбутньому неможливо.

Як можна встановити обмеження у діалоговому вікні дати Ось мій код

@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
final Calendar calendar = Calendar.getInstance();
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DATE);
return new DatePickerDialog(this, mDatePickerListener, yy, mm, dd);
}
return null;
}

Відповіді:

2 для відповіді № 1

Просто додайте це

dialog.getDatePicker().setMaxDate(new Date().getTime());

1 для відповіді № 2

Я б рекомендував використовувати досить прохолодний вибір дат матеріалу бібліотека яка є зворотною сумісністю.

Все, що потрібно зробити, це додати наступний рядок до вашого списку:

compile "com.wdullaer:materialdatetimepicker:1.5.2" // The latest at this point.

І тоді ви просто просто використовуєте setMinDate () і setYearRange () методами DatePickerDialog.

Щось на зразок цього:

Calendar calendar = Calendar.getInstance();
DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePickerDialog datePickerDialog, int i, int i1, int i2) {
// Do whatever you want when the date is selected.
}
}, calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
datePickerDialog.setMinDate(calendar);
datePickerDialog.setYearRange(calendar.get(Calendar.YEAR),
calendar.get(Calendar.YEAR) + YEARS_IN_THE_FUTURE); // You can add your value for YEARS_IN_THE_FUTURE.

Чи допомагає це?