Saltar al contenido

¿Establecer límite en DatePickerDialog en Android?

Tenemos la mejor respuesta que descubrimos en todo internet. Esperamos que te sea útil y si deseas comentarnos alguna mejora hazlo con libertad.

Solución:

Todas las demás respuestas parecen bastante intrincadas, así que solo voy a decir lo obvio: puedes obtener el subyacente DatePicker a partir de una DatePickerDialog (simplemente llamando getDatePicker()) y establezca sus límites usando:

  • setMinDate(long minDate)
  • setMaxDate(long maxDate)

Donde el argumento es el número habitual de milisegundos desde el 1 de enero de 1970 00:00:00 en la zona horaria predeterminada. Todavía tendrá que calcular estos valores, por supuesto, pero eso debería ser trivial para hacer con el Calendar clase: simplemente tome la fecha actual y sume o reste x años.

El lector más atento notará que los configuradores antes mencionados no estuvieron disponibles hasta el nivel 11 de la API. Si está apuntando a esa plataforma (o más nueva), entonces está listo para comenzar. Si también desea admitir, por ejemplo, dispositivos Gingerbread (Android 2.3/API nivel 9+), puede usar una versión retroportada de DatePicker en cambio.

Establecer la fecha mínima y máxima para DatePickerDialog no es suficiente. El usuario puede hacer clic en el año y desplazarse entre años.

También debe establecer el rango de años en DatePicker de esta manera:

datePicker.setYearRange(calendar.get(Calendar.YEAR), calendar.get(Calendar.YEAR) + 1);

Aquí tienes las comentarios y valoraciones

Si estás de acuerdo, eres capaz de dejar un escrito acerca de qué te ha parecido esta sección.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 1)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *