【发布时间】:2012-11-16 13:48:19
【问题描述】:
当我更新 CalendarContract.Events DTEND 列时,为什么更改没有显示在 CalendarContract.Instances END 列中?
我的应用允许用户使用 CalendarContract.Events API 查看和更改日历事件。该代码对 Events 表执行更新,然后使用 Instances 表将其读回(稍后)。例如,对 TITLE 的更改工作正常(也就是说,我更新了事件并可以读回实例中的更改)。 Events.DTEND 的更改确实会显示在 Instances.DTEND 中,但我怎样才能让该更新也显示在 Instances.END 中?
这很重要,因为显然,Android 日历应用程序(以及我的应用程序)使用 Instances.BEGIN 和 Instances.END 来确定要在日历中显示的内容。
这是我的更新代码:
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put (Events.CALENDAR_ID, calendarId);
values.put (Events.TITLE, title);
values.put (Events.DTEND, eventEnd.getTimeInMillis());
String where = "_id =" + eventId +
" and " + CALENDAR_ID + "=" + calendarId;
int count = cr.update (Events.CONTENT_URI, values, where, null);
if (count != 1)
throw new IllegalStateException ("more than one row updated");
谢谢。
【问题讨论】:
标签: android events calendar updates instances