Android Показать дату недели

я хочу отображать дни недели с датой этой недели. Как и сегодня, я хочу, чтобы мой календарь отображался так:

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

Затем, когда начинается еще одна неделя, цифры меняются. Итак, я экспериментировал с классом календаря Android. Итак, я вышел с этим:

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

Итак, день старта меняется. Есть ли метод/ы, которые помогут мне достичь моей цели. Возможно, я пропустил это при чтении документа. Пожалуйста спасибо. Любая помощь будет оценена по достоинству.


person elL    schedule 13.04.2013    source источник
comment
можно использовать этот метод calender.get(calender.DAY_OF_WEEK) получить сегодняшнюю неделю   -  person srinivas    schedule 13.04.2013
comment
да, я тоже пробовал это. это дало мне дни недели, но это началось в субботу. Вывод такой: sat-13 sun-07 mon-08 tues-09 wed-10 thu-11 fri-12 очень близко.. но суббота все испортила..   -  person elL    schedule 13.04.2013
comment
@elL Проверьте мой ответ .. Я проверил, он работает   -  person Pragnani    schedule 13.04.2013


Ответы (1)


Попробуй это

   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]);
        }
}
person Pragnani    schedule 13.04.2013
comment
хм. это начинается в субботу (может быть, потому что сегодня суббота??). хотя я добавил это date.setFirstDayOfWeek(GregorianCalendar.MONDAY);, результат будет sat-06 sun-07 mon-08 tues-09 wed-10 thur-11 fri-12 ..хм - person elL; 13.04.2013
comment
date.set(GregorianCalendar.DATE, date.get(GregorianCalendar.DATE)-date.get(GregorianCalendar.DAY_OF_WEEK)+1); добавьте +1 в конце, чтобы выходные даты были с 07 08 09 10 11 12 13, а первый день - 7 - person Pragnani; 13.04.2013