有没有办法检测android日历视图中的月份更改(即用户将日历更改为另一个月时)

时间:2017-08-18 08:48:02

标签: java android android-calendar calendarview

我想在日历视图中显示月份,但我无法弄明白。我试过了

calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {

        @Override
        public void onSelectedDayChange(CalendarView view, int year, int month,
                                        int dayOfMonth) {
            int d = dayOfMonth;
            int m = month;
            Log.d("month", "" + m);
            String curDate = String.valueOf(d);

        }
});

但它仅在用户点击月份的日期时触发。我想要的是当用户更改我想要更改的月份的月份(即日历视图中显示的月份)。 任何帮助,将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:9)

我认为从Android的默认CalendarView中你无法达到你想要的效果。为此,您需要实现自定义日历或提供此实现的任何其他库,或者提供用于在月份之间滑动的侦听器或手势。如果有帮助,请参考此链接:  Material-CalendeView

这是示例代码:

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

希望它对你有所帮助。