studio personalizar implementar from ejemplo edittext and android datepicker

android - personalizar - java.lang.IllegalArgumentException: current debe ser>=start y<= end



implementar datepicker en android (1)

Tengo el mismo problema, pero encontré la solución. Debe inicializar mYear, mMonth, mDay :

//Init this variables as you wish eg.: private int mYear = 2010; private int mMonth = 11; private int mDay =1; @Override protected Dialog onCreateDialog(int id) { //Overriding onCreateDialog() switch (id) { case DATE_DIALOG_ID: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); case TIME_DIALOG_ID: return new TimePickerDialog(this,mTimeSetListener,mHour,mMin,true); } return null; }

Estoy tratando de implementar selector de fecha en un botón en Android. Pero tan pronto como hago clic en el botón aparece el error. Pero el selector de tiempo funciona bien. Aquí está el código:

mPickDate.setOnClickListener(new View.OnClickListener() { //Assigning onClickListener to Date Button public void onClick(View v) { showDialog(DATE_DIALOG_ID); } }); pickTime.setOnClickListener(new View.OnClickListener() { //Assigning onClickListener to Time Button @Override public void onClick(View v) { showDialog(TIME_DIALOG_ID); } }); } @Override protected Dialog onCreateDialog(int id) { //Overriding onCreateDialog() switch (id) { case DATE_DIALOG_ID: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); case TIME_DIALOG_ID: return new TimePickerDialog(this,mTimeSetListener,mHour,mMin,true); } return null; } TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() { //Defining the TimePickerDialog reference variable @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { mHour=hourOfDay; mMin= minute; updateTime(); } }; DatePickerDialog.OnDateSetListener mDateSetListener = //Defining the DatePickerDialog reference variable new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear = year; mMonth = monthOfYear; mDay = dayOfMonth; updateDisplay(); } };

Aquí está el logcat:

10-13 16:41:46.878: ERROR/AndroidRuntime(761): FATAL EXCEPTION: main 10-13 16:41:46.878: ERROR/AndroidRuntime(761): java.lang.IllegalArgumentException: current should be >= start and <= end 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.widget.NumberPicker.setCurrent(NumberPicker.java:288) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.widget.DatePicker.updateDaySpinner(DatePicker.java:370) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.widget.DatePicker.updateSpinners(DatePicker.java:356) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.widget.DatePicker.init(DatePicker.java:352) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.app.DatePickerDialog.<init>(DatePickerDialog.java:127) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.app.DatePickerDialog.<init>(DatePickerDialog.java:86) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at acb.xiynove.OfflineScreen_ACBActivity.onCreateDialog(OfflineScreen_ACBActivity.java:74) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.app.Activity.onCreateDialog(Activity.java:2482) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.app.Activity.createDialog(Activity.java:882) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.app.Activity.showDialog(Activity.java:2557) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.app.Activity.showDialog(Activity.java:2524) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at acb.xiynove.OfflineScreen_ACBActivity$3.onClick(OfflineScreen_ACBActivity.java:56) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.view.View.performClick(View.java:2485) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.view.View$PerformClick.run(View.java:9080) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.os.Handler.handleCallback(Handler.java:587) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.os.Handler.dispatchMessage(Handler.java:92) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.os.Looper.loop(Looper.java:123) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at android.app.ActivityThread.main(ActivityThread.java:3683) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at java.lang.reflect.Method.invokeNative(Native Method) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at java.lang.reflect.Method.invoke(Method.java:507) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 10-13 16:41:46.878: ERROR/AndroidRuntime(761): at dalvik.system.NativeStart.main(Native Method)