我正在使用ical4j创建我的.ical-文件并保存事件。 但是如何在日历中找到存储的VEvent?
我有以下代码,但是不起作用? 我得到了日历->这可以正常工作了,并且已经调试了
public VEvent findEvent(CalendarExtern calendarExtern, String hashId) throws IOException, ParserException {
Calendar calendar = readCalenderFromFile(calendarExtern);
for (Component component : calendar.getComponents(Component.VEVENT)) {
if (hashId.equals(component.getProperty(Property.UID))) {
VEvent event = (VEvent) component;
return event;
}
}
return null;
}
有什么想法吗?非常感谢
答案 0 :(得分:1)
component.getProperty(Property.UID)返回一个属性,因此您真正想要做的是:
if (hashId.equals(component.getProperty(Property.UID).getValue()))...
当然,根据您的输入,您可能需要在执行getValue()之前检查没有UID属性的组件。
答案 1 :(得分:0)
使用ComponentGroup查找事件的最新版本的替代方法:
ComponentGroup<VEvent> group = new ComponentGroup(
calendar.getComponents(Component.VEVENT),
new Uid(hashId));
return group.getLatestRevision();