4

曜日をその週の日付で表示したい。今日のように、カレンダーに表示したいのは次のようなものです。

Mon  Tues  Wed  Thurs  Fri  Sat   Sun
8    9     10    11    12   13    14 

それから、別の週が始まると、数字が変わります.. それで、私はアンドロイドのカレンダークラスを試しました。だから私はこれで出てきました:

TextView[] tx = {t1, t2, t3, t4, t5, t6, t7};

    SimpleDateFormat curFormater = new SimpleDateFormat("EEE dd"); 
    GregorianCalendar date = new GregorianCalendar();
    String[] dateStringArray = new String[7];

    for (int day = 0; day < 7; day++) {
        dateStringArray[day] = curFormater.format(date.getTime());
        date.roll(Calendar.DAY_OF_MONTH, true);
        System.out.println("HELLO WORLD DAYS: " + dateStringArray[day]);
        tx[day].setText(dateStringArray[day]);
    }

目的を達成できるかどうかを確認するだけです。まあ、それは私が望むものに近いです。問題は、たとえば今日が土曜日の場合、出力は次のようになることです。

Sat   Sun   Mon   Tue   Wed   Thur   Fri
13    14    15    16    17    18     19

それから、明日..これは次のようになると思います

Sun   Mon   Tue   Wed   Thur   Fri  Sat
14    15    16    17    18     19   20

そのため、開始日が変更されます。目的を達成するのに役立つ方法はありますか。文書を読んでいるときにそれを見逃したのかもしれません。よろしくお願いします。どんな助けでも大歓迎です。

4

1 に答える 1

2

これを試して

   SimpleDateFormat curFormater = new SimpleDateFormat("EEE dd"); 
        GregorianCalendar date = new GregorianCalendar();
        String[] dateStringArray = new String[7];
             date.set(GregorianCalendar.DATE, date.get(GregorianCalendar.DATE)-date.get(GregorianCalendar.DAY_OF_WEEK));
        for (int day = 0; day < 7; day++) {
            dateStringArray[day] = curFormater.format(date.getTime());
            date.setFirstDayOfWeek(day);
            date.roll(Calendar.DAY_OF_MONTH, true);
            System.out.println("HELLO WORLD DAYS: " + dateStringArray[day]);
        }
}
于 2013-04-13T13:13:06.587 に答える