Я пытаюсь создать собственное представление календаря, и для этого я использую MonthDisplayHelper для получения дней месяца и GridView
для их отображения.
Проблема в том, чтоMonthDisplayHelper
не дает мне порядок правильных дней, например, если текущая дата 02.20.2012, MonthDisplayHelper
дает мне следующие дни в этом порядке:
Вс --- Пн ---Вт --- ср --- чт --- пт --- сб
31 -------- 1 ------ 2 ------ 3 ------- 4 ------ 5 ------ 6
7 ------ 8 ------ 9 ------ 10 ------ 11 ------ 12 ---- 13
14 ----- 15 ----- 16 ----- 17 ----- 18 ---- 19 ----- 20 - <= текущий день здесь суббота, но на самом деле это понедельник </p>
21 ----- 22 ----- 23 ----- 24 ----- 25 ----- 26 ----- 27
28 ------ 29 ------ 1 ------ 2 ------ 3 ------ 4 ------ 5
Таким образом, дни предыдущего месяца должны начинаться с 29 (в воскресенье) и заканчиваться днями следующего месяца (3 в субботу)
Я получаю дни от MonthDisplayHelper
вот так:
calendarHelper = new MonthDisplayHelper(2012, 1, Calendar.SUNDAY);
int thisDay = calendarHelper.getDayAt(rowIndex, columnIndex);
и яувеличивая rowIndex и columnIndex каждый раз, когда getView()
вызывается так:
if (columnIndex >= 7) {
rowIndex++;
columnIndex = -1;
}
columnIndex += 1;