Як створити діалогове вікно сповіщення, яке я можу вибрати дату народження:
Я хочу, щоб вибирати дату в майбутньому неможливо.
Як можна встановити обмеження у діалоговому вікні дати Ось мій код
@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.
Чи допомагає це?