protected void populateButtons()
	{
		int month = lMonths.getSelectedIndex();
		int year = lYears.getSelectedIndex() + mStartYear;

		GregorianCalendar gc = new GregorianCalendar(year, month, 1);

		// Get which day of week is the first day of the month
		int firstDay = gc.get(Calendar.DAY_OF_WEEK) - 1;

		// System.out.println("isLeapYear = " + gc.isLeapYear(year) );
		int pos = 0;

		// Disable all the buttons up to the first day
		while (pos < firstDay)
		{
			mButtons[pos++].setDate(null);
		}

		int numberOfDaysInMonth = gc.getActualMaximum(Calendar.DAY_OF_MONTH);

		while (gc.get(Calendar.DAY_OF_MONTH) <= numberOfDaysInMonth)
		{
			mButtons[pos++].setDate(gc.getTime());
			gc.add(Calendar.DAY_OF_MONTH, 1);
		}

		while (pos < mButtons.length)
		{
			mButtons[pos].setDate(null);
		}
	}