Android CalendarView 如何检测月份变化

Android CalendarView how to detect Month change

我需要根据从 CalendarView 返回的月份查询来搜索我的数据库。我的问题是 onSelectedDayChange() 事件仅在单击时触发,实际上是选择一个日期,而不是在通过滑动 CalendarView 更改月份时触发。 如何设置类似"onSelectedMonthChange"的东西?

如果您想根据某些点击事件在您的日历中显示下个月和上个月,那么您可以这样做:

Calendar c = Calendar.getInstance();

//for next month
btnNext.onClick(){
     c.add(Calendar.MONTH,1);
}
//previous month
btnPrevious.onClick(){
     c.add(Calendar.MONTH,-1);
}

您不能使用 Android CalendarView。看看这个.

如果你想这样做,你将必须自定义 CalendarView class,这将 extend CalendarView 并实现 onGestureListener。保留一个变量 curMonth 来记录您的月份。每当滑动 left/right 发生时,相应地更新您的 month 变量。