11

我正在使用新的 Android 5.0 (API21) 测试我的应用程序,但 CalendarView 出现错误

原因:java.lang.UnsupportedOperationException:新 DatePicker 的 CalendarView 不存在
   在 android.widget.DatePickerCalendarDelegate.getCalendarView(DatePickerCalendarDelegate.java:501)
   在 android.widget.DatePicker.getCalendarView(DatePicker.java:365)

令我惊讶的是,这个错误并不是因为NEW API21 DatePicker中没有CalendarView,实际上API21中没有DatePicker,只有CalendarView。

产生错误是因为我在 CalendarView 中隐藏了周数

picker.getCalendarView().setShowWeekNumber(false);

该指令抛出UnsupportedOperationException, 在 CalendarView 中不再警告周数,他们只是消失了,没有解释。

4

2 回答 2

2

可能导致此异常的一个问题是,如果您的 DatePicker 模式为android:datePickerMode="calendar",则 DatePicker.getCalendarView 将在 API 21 后导致异常,然后为了解决此问题,请将 DatePicker 的模式更改为android:datePickerMode="spinner"并在 java 中您可以使用 from 条件来处理API 大于等于 21

于 2015-10-27T15:17:37.263 回答
1

我觉得你越来越糊涂了。您的要求是“隐藏周数”但实际上日期选择器中没有周数,无论是在 api21 还是低于 21

所以我建议你跳过“picker.getCalendarView().setShowWeekNumber(false);” 行并继续其余代码。

于 2015-09-22T06:53:27.617 回答