我试图返回按日期和时间排序的Calendar事件查询,以便可以迭代它们。我已经这样查询过:
private Cursor mCursor = null;
private static final String[] COLS = new String[]{CalendarContract.Events.TITLE, CalendarContract.Events.DTSTART, CalendarContract.Events.AVAILABILITY};
mCursor = getContentResolver().query(CalendarContract.Events.CONTENT_URI, COLS, null, null, null);
mCursor.moveToLast();
这很有用,只不过它似乎是根据创建时间而不是按日期和时间返回日历事件。例如,如果我在2012年12月25日创建了一个新活动,它将显示为最后一个结果。
我的最终目标是,我想找到在当前时间之前开始的第一个事件。例如,如果当前时间是8:00 am,我想找到在8:00 am之前开始的第一个事件。然后,我想检查该事件的持续时间,以查看它是否是当前正在进行的事件。
有没有简单的方法可以返回按日期和时间排序的查询,还是在查询结果后必须执行排序?更好的是,有没有一种简单的方法可以在当前时间之前找到第一个事件?
也许这个?
private Cursor mCursor = null;
private static final String[] COLS = new String[]{CalendarContract.Events.TITLE, CalendarContract.Events.DTSTART, CalendarContract.Events.AVAILABILITY};
mCursor = getContentResolver().query(CalendarContract.Events.CONTENT_URI, COLS, null, null, CalendarContract.Events.DTSTART + " ASC");
mCursor.moveToLast();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句