在我的应用程序中,我使用两个日历,可以说日历“业务”与CalendarContract.Events.CALENDAR_ID = 1
,日历“私人”与CalendarContract.Events.CALENDAR_ID = 2
。
如果用户选择在我的应用程序中查看两个日历的事件,我需要以某种方式将两个日历的事件放入光标中。
我已经尝试过,就像在下面的代码中一样,我在我的选择中放入了带有 的 calendarIds OR
,但这向我展示了数量惊人的事件。
所以我的问题是,如何获得带有两个日历事件的光标?
String[] projection = { CalendarContract.Events._ID,
CalendarContract.Events.CALENDAR_ID,
CalendarContract.Events.TITLE,
CalendarContract.Events.DESCRIPTION,
CalendarContract.Events.DTSTART, CalendarContract.Events.DTEND,
CalendarContract.Events.DURATION,
CalendarContract.Events.DELETED };
SelectionArgs = new String[] { strCalendarStart,
strCalendarStop, "0",
intPrivateCalendarId.toString(),
intBeruflicheCalendarId.toString() };
selection = "((" + CalendarContract.Events.DTSTART + " >= ?) AND ("
+ CalendarContract.Events.DTEND + " <= ?)AND " + "("
+ CalendarContract.Events.DELETED + " = ?) AND"
+ "(" + CalendarContract.Events.CALENDAR_ID
+ " = ?) OR" + "("
+ CalendarContract.Events.CALENDAR_ID + " = ?))";
Cursor curCalendar = cr.query( CalendarContract.Events.CONTENT_URI,
projection, selection, SelectionArgs,
CalendarContract.Events.DTSTART + " ASC" );