我想在更改日期时调用asynctask。所以我使用以下代码,工作正常。但是这里发生了一些意想不到的事情。
CalendarView cv = (CalendarView) root.findViewById(R.id.calendarView1);
cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month,
int dayOfMonth) {
//Toast.makeText(getActivity(), mont + "/"+dayOfMonth + "/" + year, Toast.LENGTH_SHORT).show();
EventsTask gt = new EventsTask(getActivity(), eventsList);
gt.execute();
}
});
但是,在日历视图中加载相同日期时,也会调用月份。 这里需要做些什么才能阻止这种情况发生。
答案 0 :(得分:0)
为了后人,Djomla1989在this thread中提出了解决此问题的方法。滚动到其他月份时会调用onSelectedDayChange
,即使CalendarView
的所选日期未更改而未点击日期也是如此。必须存储原始选定日期并确定是否实际点击了新日期。