Android API 21 22 datepicker 年份选择错误?

Android API 21 22 datepicker year selection bug?

我已经实现了 "calendar view",即 Android 的日期选择器的棒棒糖版本。 当我点击“2015”更改年份时,Android API 21 和 22 在日期选择器的年份选择中存在差异:

using API21

using API22

我正在使用 Nexus 5 模拟器。我只在 API22 中看到当前(2015 年)年份条目,而在 API21 中,我可以从 ~1950 滚动到 ~2100。相同的代码,据我所知,相同的模拟设置。

我想知道这是否只是一个错误,是否有人遇到过它,或者有任何解决方法的提示?如果我能正常工作,我真的很喜欢 Lollipop 提供的日历视图。将更新我发现的任何新信息。

找到了快速修复方法。以编程方式设置 DatePickerDialog 对象的最小和最大日期。我在 DatePickerFragment static class definition 中这样做了,所以 DatePickerDialog 的每个实例都被设置了:

DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), YourActivityHere, year, month, day);
datePickerDialog.getDatePicker().setMinDate(datePickerDialog.getDatePicker().getMinDate());
datePickerDialog.getDatePicker().setMaxDate(datePickerDialog.getDatePicker().getMaxDate());

如果您在 XML activity 中定义了 DatePickerDialog,您也可以设置此项,但我不确定该错误是否存在。