我有这个代码:
public void onDateSet( DatePicker view, int year, int monthOfYear, int dayOfMonth )
{
Log.v( "DateRangePicker", "Date CHANGED" );
}
...
Calendar calender = Calendar.getInstance();
calender.setTime( new Date() );
DatePickerDialog dialog = new DatePickerDialog(
getActivity(),
this,
calender.get( Calendar.YEAR ), calender.get( Calendar.MONTH ),
calender.get( Calendar.DAY_OF_MONTH ) );
DatePicker picker = dialog.getDatePicker();
picker.setMaxDate( System.currentTimeMillis() );
dialog.show();
I saw a post https://stackoverflow.com/questions/13746035/android-4-2-datepicker-crashes-when-mindate-is-set-and-selected-date-before-mi帮助 android 4.2 解决此类问题,似乎在以后的版本中得到了解决。但就我而言并非如此。
当我将月份滚动到(九月)时,它会出现下面的崩溃。我不确定,但我认为九月不应该在那里。
FATAL EXCEPTION: main
Process: com.hizzo.counter, PID: 23871
java.lang.IllegalArgumentException: Time not between Mon Jan 01 00:00:00 AMT 1900 and Wed Aug 26 11:49:46 AMT 2015
at android.widget.CalendarViewLegacyDelegate.goTo(CalendarViewLegacyDelegate.java:775)
at android.widget.CalendarViewLegacyDelegate.setDate(CalendarViewLegacyDelegate.java:592)
at android.widget.CalendarView.setDate(CalendarView.java:495)
at android.widget.DatePicker$DatePickerSpinnerDelegate.updateCalendarView(DatePicker.java:1069)
at android.widget.DatePicker$DatePickerSpinnerDelegate.access$800(DatePicker.java:536)
at android.widget.DatePicker$DatePickerSpinnerDelegate$1.onValueChange(DatePicker.java:642)
at android.widget.NumberPicker.notifyChange(NumberPicker.java:1888)
at android.widget.NumberPicker.setValueInternal(NumberPicker.java:1674)
at android.widget.NumberPicker.scrollBy(NumberPicker.java:1137)
at android.widget.NumberPicker.computeScroll(NumberPicker.java:1091)
at android.view.View.updateDisplayListIfDirty(View.java:14172)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3391)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3370)
at android.view.View.updateDisplayListIfDirty(View.java:14145)
at android.view.View.getDisplayList(View.java:14207)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:273)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:279)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:318)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2560)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2382)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2012)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1084)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5990)
at android.view.Choreographer$Call
需要邀请 DatePicker 才能设置最小或最大日期。我只是改变dialog.show()
在它之前。 :\
Calendar calender = Calendar.getInstance();
calender.setTime( new Date() );
DatePickerDialog dialog = new DatePickerDialog(
getActivity(),
this,
calender.get( Calendar.YEAR ), calender.get( Calendar.MONTH ),
calender.get( Calendar.DAY_OF_MONTH ) );
dialog.show();
DatePicker picker = dialog.getDatePicker();
picker.setMaxDate( System.currentTimeMillis() );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)