【发布时间】:2014-04-25 20:46:00
【问题描述】:
我有一个应用程序,它使用日历提供程序来添加、编辑和删除事件。我有一个日历界面,它显示了哪些日子附加了事件。添加事件完美。为了添加一个事件,我用数字 3 硬编码了 calendarID,所以 calID = 3。
long calID=3;
values.put(Events.DESCRIPTION, description);
values.put(Events.CALENDAR_ID, calID);
values.put(Events.EVENT_TIMEZONE, "Europe/London");
Uri uri = cr.insert(Events.CONTENT_URI, values);
这非常有效。我编程的视图显示了事件。我打开手机 (Xperia J) 中附带的日历应用程序,我可以看到该事件在那里。
我尝试使用以下代码删除事件:
ContentResolver cr = mContext.getContentResolver();
ContentValues values = new ContentValues();
Uri deleteUri = null;
deleteUri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
int rows = mContext.getContentResolver().delete(deleteUri, null, null);
此代码直接从 developer.android.com 网站复制而来。 这不删除!我调试了代码,'rows' 的值等于 1,所以实际上该行应该已被删除。 但是我回到我的应用程序,事件仍然存在。有趣的事情:我检查了手机中的日历应用程序,但那里不存在该事件。所以它已被删除(?)。我想也许我没有刷新我的应用程序,所以我关闭了它,重新安装了它,它永远不会删除。我再次调试要删除的代码,并且再次将“行”值等于一,对于同一事件!所以,'rows' 每次我想删除它时总是返回 1。所以该行被删除了,但没有被删除。
这里发生了什么?是不是因为我在添加活动时硬编码了 calendarID?
【问题讨论】:
-
你能回答我的问题吗? :D stackoverflow.com/questions/18837621/…
标签: java android events android-calendar