【问题标题】:Android API 21 22 datepicker year selection bug?Android API 21 22 日期选择器年份选择错误?
【发布时间】:2015-05-12 18:01:44
【问题描述】:

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

using API21

using API22

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

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

【问题讨论】:

  • 您是否尝试过显式调用setMaxDatesetMinDate
  • 谢谢欧根!这就是我最终尝试的方法,它修复了。非常感谢!

标签: android android-5.0-lollipop android-datepicker


【解决方案1】:

找到一个快速修复。以编程方式设置 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 活动中定义了 DatePickerDialog,您也可以设置此项,但我不确定那里是否存在错误。

【讨论】:

  • 那么设置应该存在的值可以解决问题吗?邪恶的:D
  • 使用此链接提交错误报告,否则他们不会(也按照模板中的说明进行操作):code.google.com/p/android/issues/…
  • 3 年后,同样的问题 :) 我希望看到您的答案被标记为正确。
  • @theOranguzang 我无法滚动超过 2100 年知道为什么 Android 会这样做吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 2012-01-08
  • 2020-02-07
  • 1970-01-01
  • 2022-06-13
相关资源
最近更新 更多