Reputation: 7131
I've created a datepicker. I need to restrict the future date selection. So i use datePicker.setMaxDate(new Date().getTime());
. Without this date picker works fine. After this i am changing date randomly in past. I got this crash message in Logcat.
02-03 13:44:56.858: E/AndroidRuntime(7435): FATAL EXCEPTION: main
java.lang.IllegalArgumentException: Time not between Mon Jan 01 00:00:00 GMT 1900 and Mon Feb 03 13:43:48 GMT 2014
at android.widget.CalendarView.goTo(CalendarView.java:1128)
at android.widget.CalendarView.setDate(CalendarView.java:960)
at android.widget.DatePicker.updateCalendarView(DatePicker.java:880)
at android.widget.DatePicker.access$800(DatePicker.java:99)
at android.widget.DatePicker$1.onValueChange(DatePicker.java:256)
at android.widget.NumberPicker.notifyChange(NumberPicker.java:1862)
at android.widget.NumberPicker.setValueInternal(NumberPicker.java:1647)
at android.widget.NumberPicker.changeValueByOne(NumberPicker.java:1675)
at android.widget.NumberPicker.access$200(NumberPicker.java:100)
at android.widget.NumberPicker$1.onClick(NumberPicker.java:651)
at android.view.View.performClick(View.java:4421)
at android.view.View$PerformClick.run(View.java:18190)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:175)
at android.app.ActivityThread.main(ActivityThread.java:5279)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
There is nothing mention about my java error. Anyone have idea about this please help.
Upvotes: 1
Views: 907
Reputation: 7131
It is happen because i'm try to set datePicker.setMaxDate(new Date().getTime());
inside of my show dialog method i called it many time that is the reason it crashes. Call datePicker.setMaxDate(new Date().getTime());
only once it'll fine now
Upvotes: 1
Reputation: 13520
Try using
datePicker.setMaxDate(Calendar.getInstance().getTimeInMillis());
instead of
datePicker.setMaxDate(new Date().getTime());
This will set today's date as max date and no future date will be allowed to be selected.
Upvotes: 0