2014-11-07 3 views
11

Я испытывал мое приложение с новым Android 5.0 (API21), но получаю сообщение об ошибке с CalendarViewAPI21 нового DatePicker ShowWeekNumber Краш

Caused by: java.lang.UnsupportedOperationException: CalendarView does not exists for the new DatePicker 
    at android.widget.DatePickerCalendarDelegate.getCalendarView(DatePickerCalendarDelegate.java:501) 
    at android.widget.DatePicker.getCalendarView(DatePicker.java:365) 

Для моего удивления, ошибка не потому, что есть нет CalendarView в NEW API21 DatePicker, по сути, нет DatePicker в API21, просто CalendarView.

была произведена ошибка, потому что я был Hidding Числа Неделя в CalendarView

picker.getCalendarView().setShowWeekNumber(false); 

Эта команда бросает UnsupportedOperationException, имейте в виду, не больше недели Числа в CalendarView, они просто исчезли его, нет объяснение.

+0

У меня были сообщения об авариях пользователей с этой же ошибкой, поэтому теперь я собираюсь взять ваш совет и удалить строку, которая скрывает номера недель. Спасибо за публикацию! – LargeGlasses

ответ

1

Я думаю, что вы сбиты с толку. ваше требование «чтобы скрыть номер недели» Но на самом деле нет Номер недели в выбора даты ни в api21 ни ниже 21

поэтому я предлагаю вам пропуск «picker.getCalendarView() setShowWeekNumber (ложь);». и продолжить с остальным кодом.

+0

ajinkya gaurkar ваше право ...! –

1

Одна из проблем, которые могут вызвать это исключение в том, что если ваш режим DatePicker является android:datePickerMode="calendar", DatePicker.getCalendarView вызовет исключение в посте API 21, то для того, чтобы решить эту проблему, измените режим вашего DatePicker для android:datePickerMode="spinner" и в Java вы может использовать из условий для обработки API больше или равно 21