java如何在MaterialCalendarView中显示特定日期和时间的事件?
我正在测试一个示例应用程序,试图实现显示特定日期的时间和日期。目前,它只绘制整个月,即使事件持续一天。比如说,如果事件发生在1月5日上午9:30到10:30之间,那么它将出现整个月,而不仅仅是1月5日。想要实现这样的目标:
目前,我的应用程序显示了整整一个月,即使是1月1日或1月8日的事件(例如,这里有一个屏幕截图,它错误地显示在1月15日的一周,即使这两个事件属于两个不同的日期):
我正在测试的代码如下:https://github.com/raghunandankavi2010/SamplesAndroid/tree/master/CalendarTest
唯一不同的是日历上的位置。xml类I在<com.prolificinteractive.materialcalendarview.MaterialCalendarView
下添加了:app:mcv_showOtherDates="all"
以显示每周视图。
还有,在日历片段中。java类中有一个名为makeJsonObjectRequest的函数,在该函数中解析StartDate,我尝试解析startTime、startTime和EndTime以及EndDate,以将事件分别映射到该日期,但效果不太好
String EndDate = jsonObject.getString("EndTime");
Date date = simpleDateFormat.parse(EndDate);
String title = jsonObject.getString("Title");
Log.d("EndDate ",""+date);
CalendarDay day = CalendarDay.from(date);
Event event = new Event(date,title);
cal = Calendar.getInstance();
cal.setTime(date);
int month = cal.get(Calendar.DAY_OF_THE_MONTH);
你知道如何进行这项工作并更新代码,这样我就可以在特定的时间范围内(如上面的outlook屏幕截图(第一个屏幕截图)而不是整个月显示相应的事件了吗? (还有json class i testjson.json,包含在项目资产文件夹中)
谢谢
# 1 楼答案
回购协议中的示例使用月份过滤事件。您需要按日历日筛选事件,并在
onDateSelected
中更新listview,以便在用户选择不同日期时更新listview。你应该得到这样的东西: