Android MonthDisplayHelper не предоставляет дни в правильном порядке - PullRequest
1 голос
/ 20 февраля 2012

Я пытаюсь создать собственное представление календаря, и для этого я использую 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;

1 Ответ

0 голосов
/ 20 февраля 2012

Кажется, что проблема заключалась в адаптере gridview, когда он запускается, он дает мне один и тот же индекс два или три раза подряд и только после этого индекс увеличивается. Я изменил метод приращения, чтобы сделать приращение индекса столбца и строки только в том случае, если индекс сетки не совпадает с последним данным.

Мне все еще интересно, почему адаптер делает эту странную вещь .. может быть, кто-то может сказать, почему ..

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...