我正在尝试制作自定义日历视图,为此我使用MonthDisplayHelper来获取当月的日期,并使用GridView
来显示它们。
问题是MonthDisplayHelper
没有给我正确的日期订单,例如,如果当前日期是02.20.2012,MonthDisplayHelper
按此顺序给我以下几天:
太阳---星期一---星期二---星期三---星期四---星期五---星期六
31 -------- 1 ------ 2 ------ 3 ------- 4 ------ 5 ------ 6 < / p>7 ------ 8 ------ 9 ------ 10 ------ 11 ------ 12 ---- 13
14 ----- 15 ----- 16 ----- 17 ----- 18 ----- 19 ----- 20 - &lt; =这里的当天是周六但实际上是周一
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);
我每次调用getView()
时都会增加rowIndex和columnIndex:
if (columnIndex >= 7) {
rowIndex++;
columnIndex = -1;
}
columnIndex += 1;
答案 0 :(得分:0)
似乎问题是gridview适配器,当它运行时,它连续两次或三次给我相同的索引,并且只有在此之后索引才会增加.. 我修改了increment方法,只有当网格索引与上一个给定的网格索引不同时才进行列和行索引的增量。
我仍然想知道为什么适配器正在做这个奇怪的事情。也许有人可以说出原因..
由于