Использование Calender.LONG в getDisplayNames () нерешенным

Я пытаюсь использовать getDisplayNames() для объекта Calendar в своем Android-коде. У меня есть java.util.Calendar включен и не имел никаких проблем с использованием каких-либо других публичных членов класса Calendar (например, Calendar.MONTH). Теперь я пытаюсь выполнить следующую строку …

 mReminderCal.getDisplayName(Calendar.DAY_OF_MONTH, Calendar.LONG, Locale.US) 

И Eclipse сообщает мне Calendar.LONG или Calendar.SHORT не существует.

Согласно документации здесь они должны существовать: http://developer.android.com/reference/java/util/Calendar.html#LONG

Любое понимание?

Solutions Collecting From Web of "Использование Calender.LONG в getDisplayNames () нерешенным"

Попробуйте это (то же самое для григорианского или обычного календаря). DateFormatSymbols – это уровень API 1.

 int month = date.get(GregorianCalendar.MONTH); String monthName = new DateFormatSymbols().getMonths()[month]; 

Я нашел проблему.

getDisplayName() и связанные с ним Calendar.LONG и Calendar.SHORT – только уровень API 9. Я на уровне API 4 для обратной совместимости. Полагаю, мне придется создать свою собственную функцию для перевода перечислений месяца в строки.

вы можете использовать

 mReminderCal.getDisplayName(java.util.Calendar.DAY_OF_MONTH, java.util.Calendar.LONG, Locale.US); 

Или статический импорт:

 import static java.util.Calendar.DAY_OF_MONTH; 

Кажется, что вы уже импортировали класс Calendar Android, и в своей строке вы пытаетесь получить поля из этого класса. Итак, вам нужно четко указать компилятору, какой именно Calendar вы используете.