Cómo crear un diálogo de alerta que pueda seleccionar la fecha de nacimiento:
Quiero que no sea imposible elegir la fecha en el futuro.
¿Cómo se pueden establecer límites en el diálogo de fecha? Aqui esta mi codigo
@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;
}
Respuestas
2 para la respuesta № 1Solo agrega esto
dialog.getDatePicker().setMaxDate(new Date().getTime());
1 para la respuesta № 2
Recomendaría utilizar un selector de fecha de diseño de materiales bastante bueno biblioteca que es compatible con versiones anteriores.
Todo lo que necesita hacer es agregar la siguiente línea a su lista de dependencias de Gradle:
compile "com.wdullaer:materialdatetimepicker:1.5.2" // The latest at this point.
Y luego simplemente usa los métodos setMinDate () y setYearRange () del DatePickerDialog.
Algo como esto:
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.
¿Esto ayuda?