gpt4 book ai didi

java - 循环双周库

转载 作者:太空宇宙 更新时间:2023-11-04 12:10:25 25 4
gpt4 key购买 nike

BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20151116T123000
DTEND;TZID=America/Los_Angeles:20151116T140000
EXDATE;TZID=America/Los_Angeles:20160215T123000
EXDATE;TZID=America/Los_Angeles:20160530T123000
EXDATE;TZID=America/Los_Angeles:20160704T123000
EXDATE;TZID=America/Los_Angeles:20160905T123000
EXDATE;TZID=America/Los_Angeles:20170220T123000
EXDATE;TZID=America/Los_Angeles:20170529T123000
RRULE:FREQ=WEEKLY;BYDAY=MO
DTSTAMP:20161007T103007Z
UID:up5l07cp40qiqia1evqjk02r9c@google.com
CREATED:20151116T002427Z
DESCRIPTION:
LAST-MODIFIED:20160829T190451Z
LOCATION:
SEQUENCE:2
STATUS:CONFIRMED
SUMMARY:iOS Today
TRANSP:OPAQUE
END:VEVENT

我正在尝试使用库 https://github.com/alamkanak/Android-Week-View 为 Android 应用程序构建一个 calenderView和这个库https://github.com/mangstadt/biweekly解析 ICS。但是,我在创建重复事件时遇到问题,如示例中所示。

protected  TreeMap<Integer,TreeMap<Integer,List<WeekViewEvent>>>  doInBackground(String... params) {
ICalendar ical = Biweekly.parse(params[0]).first();
List<VEvent> le = ical.getEvents();
for(VEvent ev: le){
Calendar startTime = Calendar.getInstance();
startTime.setTimeInMillis(ev.getDateStart().getValue().getTime());
if(ev.getRecurrenceRule()!=null){
//Don't know what do I do here

}

int year = startTime.get(Calendar.YEAR);
int month = startTime.get(Calendar.MONTH);
//Log.v("Calendar",year+" Ano " + month +" Mes");
Calendar endTime = Calendar.getInstance();
if(ev.getDateEnd()==null){
continue;
}
endTime.setTimeInMillis(ev.getDateEnd().getValue().getTime());
WeekViewEvent we = new WeekViewEvent(0,ev.getSummary().getValue(),startTime,endTime);
if(eventos.get(we.getStartTime().get(Calendar.YEAR))==null){
TreeMap<Integer,List<WeekViewEvent>> as = new TreeMap<>();
List<WeekViewEvent> listEv = new ArrayList<>();
listEv.add(we);
as.put(we.getStartTime().get(Calendar.MONTH),listEv);
eventos.put(we.getStartTime().get(Calendar.YEAR),as);
}
else {
TreeMap<Integer, List <WeekViewEvent>> as = eventos.get(we.getStartTime().get(Calendar.YEAR));
if(as.containsKey(we.getStartTime().get(Calendar.MONTH))){
as.get(we.getStartTime().get(Calendar.MONTH)).add(we);
}else {
List<WeekViewEvent> listEv= new ArrayList<>();
listEv.add(we);
as.put(we.getStartTime().get(Calendar.MONTH),listEv);
}
}
}
return eventos;
}

感谢任何帮助。

最佳答案

也许您应该尝试一下 iCalendarAgenda http://jfxtras.org/

它利用了一个新的 Java iCalendar API,称为 iCalendarFX。虽然我没有在 Android 上使用过它,但我知道 Tom Eugelink 已经获得了可以在 Android 上运行的议程控件(iCalendarAgenda 扩展)。

我编写了 iCalendarFx,它可以轻松解析您那里的 VEVENT。

关于java - 循环双周库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39917717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com