Android CalendarView检测月份更改

时间:2015-11-20 08:27:21

标签: android calendar calendarview

我想知道是否有办法让我检测用户何时更改月份(刷到另一个月)。现在,我已经实施了

calendar.setOnDateChangeListener(this);

我的问题是,当我更改月份时,

@Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth)

火灾,但我得到的年,月和日仍然是我来自的月份的选定日期。

我在这里遗漏了什么吗?有人能指出我正确的方向吗?谢谢!

1 个答案:

答案 0 :(得分:1)

不幸的是,您不能使用Android的默认CalenderView实施月份更改事件。但是,here可以使用另一种自定义的MaterialCalendarView,它同时提供日期和月份更改侦听器。

使用该视图的示例代码如下:

MaterialCalendarView calendarView = new MaterialCalendarView(getActivity());
calendarView.setOnMonthChangedListener(new OnMonthChangedListener() {
 @Override
 public void onMonthChanged(MaterialCalendarView widget, CalendarDay date) {
        // Do something here
        Date selectedDate = date.getDate();
 }
}); 

还可以使用MaterialCalendarView以类似的方式实现日期更改侦听器。