CalendarAdapter is an abstract class now and every CalendarAdapterX extends it. The abstract class offers a shared implementation of calculateViewDimension and imposes a method generateDayViews() that have to be implemented in child classes. Calendarctivities are extending Calendar Activity clss for similar reasons