2012-02-20 12 views
1

私はカスタムのカレンダービューを作成しようとしています。そのために月の曜日を取得するのにMonthDisplayHelper、表示するにはGridViewを使用します。Android MonthDisplayHelperは適切な順序で日付を提供しません。

問題はMonthDisplayHelperがこの順序で、次の日に私を与え、現在の日付が2012年2月20日であれば例えば、私の右の日の順序を与えていないMonthDisplayHelperことです:

日---月 - - 火---水---木---金---土

31 -------- 1 ------ 2 ------ 3 --- ---- 4 ------ 5 ------ 6

7 ------ 8 ------ 9 ------ 10 ----- - 11 ------ 12 ---- 13

14 ----- 15 - ---- 16 ----- 17 ----- 18 ---- 19 ----- 20 - < =ここの当日は土ですが、実際は月です

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; 
+0

いくつかのカレンダーライブラリ(http://stackoverflow.com/a/8242625/119895)があります。私は彼らがこの問題をどのように扱っているかを調べるでしょう。 – Macarse

+0

ありがとう、私はより多くのデバッグを行い、MonthDisplayHelperは私に正しい日を与えることに気付いたが、私は私のgridViewアダプタは今問題だと思う.. – Cata

+0

私のアダプタgetView()メソッドは、とにかく私はそれから得るインデックスのための0と私は増分を作っている.. – Cata

答えて

0

それは2かのために私に同じインデックスを与えて実行したときに問題が、GridViewのアダプタだったようです3回連続してインデックスが増加する。 グリッドインデックスが最後に与えられたものと同じでない場合にのみ、増分方法を変更して列インデックスと行インデックスを増やす。

私はまだアダプターがなぜこの奇妙なことをしているのか疑問に思っています。

ありがとうございました

関連する問題