我正在使用 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;}有任何想法吗?非常感谢
2 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
component.getProperty(Property.UID) 返回一个属性,所以你真正想要做的是:
if (hashId.equals(component.getProperty(Property.UID).getValue()))...
当然,根据您的输入,您可能希望在执行 getValue() 之前检查没有 UID 属性的组件。
回首忆惘然
TA贡献1847条经验 获得超11个赞
使用ComponentGroup查找事件的最新版本的替代方法:
ComponentGroup<VEvent> group = new ComponentGroup(
calendar.getComponents(Component.VEVENT),
new Uid(hashId));
return group.getLatestRevision();
添加回答
举报
0/150
提交
取消