android - 如何处理 Events.RRULE

标签 android calendar rfc5545

我有日历 View ,我可以在其中设置事件,但我不知道如何处理重复发生的事件。 我通过光标获取 Event.RRULE 的值:

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

例如规则值为:

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

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

例如我想获取 Monday - MO 以在日历对象中设置它

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

最佳答案

有不同的库来处理 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 对象的已解析属性。

关于android - 如何处理 Events.RRULE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42099196/

相关文章:

java - 如何使用 Intent 在主要 Activity 布局之上打开 Activity ?

icalendar - 如何从 iCalendar RRULE 获取发生日期列表

Javascript 解析器 Google 日历 JSON Feed 与重复事件

android - TransferManager 在网络问题上的行为

android - 有没有一种树莓派ADK板

android如何使用受信任的(!)证书对应用程序进行数字签名

java - 如何从已弃用的 Date 类型替换 getDate()?

java - 服务器端 Google 日历 API 调用出现问题

java - 将日期转换为不同的时区