如何处理Events.RRULE

时间:2017-02-07 20:19:27

标签: android calendar rfc5545

我有日历视图,我正在设置事件,但我不知道如何处理重复事件。 我通过游标获得了Event.RRULE的值:

String rrule = cursor.getString(cursor.getColumnIndex(Events.RRULE));

例如,rrule值为:

FREQ=WEEKLY;BYDAY=MO,WE,FR;INTERVAL=1
FREQ=MONTHLY;BYMONTHDAY=6;INTERVAL=2

如何从此字符串中获取值以将其设置为日历值?

例如,我希望获得星期一 - MO在日历对象中设置它

Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

1 个答案:

答案 0 :(得分:3)

有不同的库来处理RRULE。您可以使用google-rfc-2445

import com.google.ical.values.RRule;
//...
RRule rule = new RRule("RRULE:FREQ=MONTHLY;BYMONTHDAY=6;INTERVAL=2");

并且以有用的方式使用已创建对象的属性,或者您可以使用 lib-recur

import org.dmfs.rfc5545.recur.RecurrenceRule;
// ...
RecurrenceRule rule = new RecurrenceRule("FREQ=MONTHLY;BYMONTHDAY=6;INTERVAL=2");

并使用rule对象中的已解析属性。