我正在开发一款名为无限日历的应用程序。这不是无限的,因为一切都有限制,现在我正在找到这个限制。我正在使用CalendarView
来显示日历和JodaTime以帮助我处理日期。为什么这个CalendarView是空的(什么都不显示)?
我的布局,只有一个观点:
<CalendarView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:showWeekNumber="false"
android:shownWeekCount="5"
android:id="@+id/calendar">
</CalendarView>
而且我设置的代码maxDate
和minDate
:
calendar.setMinDate (0);
calendar.setMaxDate (9223372017014400000L);
而且为什么我用9223372017014400000L
?因为经过一些实验,我发现这是JodaTime可以达到的最大值。为什么我没有在布局文件中设置它们?因为我不知道格式。我之前尝试了几次,但它不断抛出异常说,最大值小于最小值...
现在我认为,这是如此的好。于是,我就日期设置为一些非常大的数字:
Date date = new LocalDate (2000000, 1, 1).toDate();
calendar.setDate (date.getTime());
其实我甚至不知道如果我这样做很好,如果我只是屠杀这一点。
现在发生了奇怪的事情。当我运行该应用程序时,CalendarView
只显示顶部的月份,年份和星期几!我搜索,发现类似这样的一个问题:
Android CalendarView not displaying the days
但答案告诉OP设置尺寸match_parent
,我做到了明显。
所以这里提出的问题,有没有特殊的原因呢?如果是的话,那是什么,我该如何解决它?如果不是,CalendarView
的限制是多少?
更新:
我试图设置最小日期为默认值(未指定)和最大日期1/1/2000000,然后设置日期一千二万分之一。现在日历视图在1999999显示日期和其他日期!奇怪!
Jon Skeet请帮帮我!
查看更新。我尝试了其他的东西,日历显示2000000年的日期 – Sweeper
我很困惑。你有没有解决你的问题? – Michael
不行,因为我还是不明白为什么年2000000可以,但是292278993不是 – Sweeper