ical4j - 根据 UID 查找事件

我正在使用 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;

}

有任何想法吗?非常感谢


呼如林
浏览 217回答 2
2回答

胡子哥哥

component.getProperty(Property.UID) 返回一个属性,所以你真正想要做的是:if (hashId.equals(component.getProperty(Property.UID).getValue()))...当然,根据您的输入,您可能希望在执行 getValue() 之前检查没有 UID 属性的组件。

回首忆惘然

使用ComponentGroup查找事件的最新版本的替代方法:ComponentGroup<VEvent> group = new ComponentGroup(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;calendar.getComponents(Component.VEVENT),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;new Uid(hashId));return group.getLatestRevision();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java