07-31-2005, 08:14 PM
Join Date: Jun 2005
Post Thanks: 0
Thanked 0 Times in 0 Posts
| | Problem with recurring events
Please Login to Remove!
I'm trying to write some code to get a list of all events between a start time and and end time, including *recurring events* (which is a problem!).
I am using the following code (with error checking removed to simplify the post):
eventList = (EventList)PIM.getInstance().openPIMList( PIM.EVENT_LIST, PIM.READ_ONLY);
Enumeration e = eventList.items();
Event event = (Event)e.nextElement();
RepeatRule rr = event.getRepeat();
if (rr != null)
Enumeration eRR = null;
origStartTime = event.getDate(Event.START,0);
startTime = //two days ago;
endTime = //two weeks from today;
eRR = rr.dates(origStartTime,startTime,endTime);
if (eRR != null)
Date d = (Date)eRR.nextElement();
// d should get dates between startTime
// and endTime during the iteration
So here's the problem:
If I create a recurring event in the calendar that recurs daily, I find that the above code works fine. In other words, my enumeration eRR has all of the recurrences of the event occuring between -2 days and + 14 days from the current date. However, if I create a recurring event in the calendar that recurs *weekly*, while the PIM app shows the recurring event in its GUI, I find that my enumeration eRR does not contain any events between my start and end times.
I am certain that startTime and endTime are correct as I have printed them out and verified them. Any ideas?