为了账号安全,请及时绑定邮箱和手机立即绑定

ical4j - 根据 UID 查找事件

ical4j - 根据 UID 查找事件

呼如林 2021-09-12 15:39:31
我正在使用 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 属性的组件。


查看完整回答
反对 回复 2021-09-12
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

使用ComponentGroup查找事件的最新版本的替代方法:


ComponentGroup<VEvent> group = new ComponentGroup(

         calendar.getComponents(Component.VEVENT),

         new Uid(hashId));


return group.getLatestRevision();


查看完整回答
反对 回复 2021-09-12
  • 2 回答
  • 0 关注
  • 216 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信