有什么方法可以检测 android 日历视图中的月份变化(即当用户将日历更改为另一个月份时)

Is there any way to detect month change in android calendar view(i.e. when user changes calendar to another month)

我想在日历视图中显示月份,但我搞不懂。我试过了

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);

        }
});

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

我认为 Android 的默认 CalendarView 无法实现您想要的效果。为此,您需要实现您的自定义日历或任何其他提供此实现或提供侦听器或手势以在月份之间滑动的库。如果对您有帮助,请参考此 link: 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();
     }
 });

希望对你有帮助。