Haz todo lo posible por entender el código correctamente antes de adaptarlo a tu proyecto si tquieres aportar algo puedes dejarlo en la sección de comentarios.
Solución:
El error dice que no puede establecer la fecha mínima para exactamente ahora. Intenta restar un segundo:
datePicker.setMinDate(System.currentTimeMillis() - 1000);
Desde el código fuente, la fecha mínima debe ser anterior, no igual a la fecha actual:
if (date.before(mMinDate))
throw new IllegalArgumentException("fromDate: " + mMinDate.getTime()
+ " does not precede toDate: " + date.getTime());
Entonces simplemente necesita restar suficiente tiempo a partir de ahora (System.currentTimeMillis()
) pasar date.before(mMinDate)
.
Si no desea utilizar un cuadro de diálogo personalizado. Utilice este código de una sola línea:
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
comprobar el androide Selector de fecha colocar mínimo y fecha máxima código.
Aquí están los ejemplos.
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dpd = new DatePickerDialog(getActivity(),AlertDialog.THEME_TRADITIONAL,this,year, month, day);
//Get the DatePicker instance from DatePickerDialog
DatePicker dp = dpd.getDatePicker();
//Set the DatePicker minimum date selection to current date
dp.setMinDate(c.getTimeInMillis());//get the current day
//dp.setMinDate(System.currentTimeMillis() - 1000);// Alternate way to get the current day
//Add 6 days with current date
c.add(Calendar.DAY_OF_MONTH,6);
//Set the maximum date to select from DatePickerDialog
dp.setMaxDate(c.getTimeInMillis());
//Now DatePickerDialog have 7 days range to get selection any one from those dates
Te mostramos comentarios y calificaciones
Al final de la página puedes encontrar las explicaciones de otros sys admins, tú todavía puedes mostrar el tuyo si te gusta.