我仍在尝试使用calendarView创建月视图。
我的问题是我不知道如何切换calendarView的月份。我想单击一个按钮,然后视图将显示下个月或上个月。该视图已经基础,因此您无法滚动。
CalendarView cal = (CalendarView) findViewById(R.id.calendarMonthView);
cal.setEnabled(false);
我的想法是使用以下代码:
长 dateOfLastMonth = currentMonth - month; //伪代码
CalendarView lastMonth = (CalendarView) findViewById(R.id.calendarMonthView);
lastMonth.setDate(**dateOfLastMonth**);
但我不知道 dateOfLastMonth 应该有什么价值。
这是正确的方法吗?什么值应该 dateOfLastMoth (不知道因为它必须很长)? 还有另一种方式吗?
答案 0 :(得分:2)
试试这个:
Calendar cal = Calendar.getInstance(); // Calendar object, with time set to now
cal.add(Calendar.MONTH, -1); // subtract a month
long dateOfLastMonth = cal.getTimeInMillis(); // get the milliseconds since 01/01/1970
如果你想在这个月的第一天做这个
cal.set(Calendar.DAY_OF_MONTH, 1);
我建议在减去一个月之前这样做,因为我不知道如果今天是本月的第31个月并且上个月没有第31个会发生什么。
编辑:如果它是第31个就不会有问题,我只是尝试了,日历只设置为上个月的第30个