2014-11-07 33 views
11

stavo testando la mia app con il nuovo Android 5.0 (API21), ma è stato sempre un errore con il CalendarViewAPI21 nuova DatePicker ShowWeekNumber Crash

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) 

Per la mia sorpresa l'errore non è stato perché non c'è no CalendarView nel NUOVO API21 DatePicker, infatti, non c'è DatePicker in API21, solo CalendarView.

L'errore è stato prodotto perché ero nascondono i numeri delle settimane nella CalendarView

picker.getCalendarView().setShowWeekNumber(false); 

Questa istruzione getta la UnsupportedOperationException, essere avvertiti non più il numero di settimana in CalendarView, hanno appena scomparso, no spiegazione.

+0

Ho segnalato agli utenti di arresti anomali del sistema con lo stesso errore, quindi ora seguirò il tuo consiglio e rimuoverò la riga che nasconde i numeri della settimana. Grazie per aver postato questo! – LargeGlasses

risposta

1

Penso che tu ti stia confondendo. la vostra esigenza è "per nascondere numero della settimana" Ma in realtà non c'è settimana Numero di selezione data né in api21 né inferiore a 21

Quindi vi consiglio di saltare "picker.getCalendarView() setShowWeekNumber (false);". linea e continuare con il resto del codice.

+0

ajinkya gaurkar il tuo diritto ...! –

1

Un problema che può causare questa eccezione è che se la modalità DatePicker è android:datePickerMode="calendar", DatePicker.getCalendarView causerebbe un'eccezione in API postale 21, quindi al fine di risolvere questo problema, modificare la modalità del DatePicker per android:datePickerMode="spinner" e in Java può utilizzare dalle condizioni per gestire API maggiore o uguale a 21