kstanoev
1/29/2015 - 2:24 PM

Calendar Integration: Read events for a specific period of time

Calendar Integration: Read events for a specific period of time

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);

	this.calendarView = new RadCalendarView(this);
	this.adapter = new EventReadAdapter(this.calendarView);

	// Getting events from multiple calendars
	EventReadAdapter.getAllCalendarsAsync(this, new GenericResultCallback<EventReadAdapter.Calendar[]>() {
		@Override
		public void onResult(EventReadAdapter.Calendar[] result) {
			String[] IDs = new String[result.length];
			for (int i = 0; i < result.length; i++) {
				IDs[i] = result[i].id;
			}
			Calendar calendar = Calendar.getInstance();
			calendar.add(Calendar.DATE, -7);
			long eventsStartDate = calendar.getTimeInMillis();
			calendar.add(Calendar.DATE, 7);
			long eventsEndDate = calendar.getTimeInMillis();
			adapter.setEventsQueryToken(EventQueryToken.getCalendarsById(IDs));
			EventQueryToken token = adapter.getEventsQueryToken();
			token.setRange(eventsStartDate, eventsEndDate);
			calendarView.setEventAdapter(adapter);
			adapter.readEventsAsync();
		}
	});

	setContentView(this.calendarView);
}