当前位置: 首页 > 知识库问答 >
问题:

maxDate上的Android DatePicker bug

子车凌龙
2023-03-14

我已经创建了一个DatePickerDialog,并试图将选择器限制在“今天”的最大日期(当前:2020年7月13日),如下所示:

DatePickerDialog(
    activity,
    OnDateSetListener { _: DatePicker?, year: Int, monthOfYear: Int, dayOfMonth: Int ->
        selectedBirthday.set(year, monthOfYear, dayOfMonth)
    },
    1980, 7, 2
).apply {
    datePicker.maxDate = System.currentTimeMillis() // max date = today
}.show()

对话框以默认数据正确打开(“1980年8月02日”)。

然而,当选择“1980,8月02”并将年份改为2020年时,我发现了一个bug:对话框在顶部显示“2020,8月02”,忽略了datePicker上设置的maxDate限制,但下面的日历正确地限制在7月13日。

共有1个答案

齐望
2023-03-14

请尝试date().gettime()而不是system.currentTimeMillis()

DatePickerDialog(
    activity,
    OnDateSetListener { _: DatePicker?, year: Int, monthOfYear: Int, dayOfMonth: Int ->
        selectedBirthday.set(year, monthOfYear, dayOfMonth)
    },
    1980, 7, 2
).apply {
    datePicker.maxDate = Date().getTime() // max date = today
}.show()
 类似资料:
  • 我以前在谷歌的同一个对话框上找到了日期和时间选择器的教程。我试图在日历上设置minDate和maxDate,但没有任何帮助。我想在用户打开对话框时选择日期,默认日期为当前日期前4天。为此我想 但当我打开对话框时,什么都没有改变。代码有点长,我会尽量只发布我认为需要的内容。这是CustomDateTimePicker。java 这是在主活动中 我相信这是我需要修复的部分,但无法得到它的准确程度。如果

  • 问题内容: 如何仅使用一个SQL查询来获取MySQL中的最大日期和最小日期? 问题答案:

  • 我有一个java POJO收集metics如下: 我有一个来自上面pojo的度量列表,如

  • Animal.java 我为它创建了以下自定义断言: AnimalAssert.java 编辑:基于第一个答案(cglib需要一个),我用一个no arg构造函数更新了动物类,但是抛出了相同的异常

  • 我的应用程序一直在许多Android平台上报告这个问题(4.1、4.0.4、2.3.6.…)。但我无法在我的手机上复制这个问题。我已经在Google上搜索了这个问题,但堆栈跟踪似乎与我的不一样。

  • 我有一台带有Intel CPU的Windows机器(在引导菜单上启用VMX)。我使用VirtualBox在上面运行Ubuntu Guest。我在上面运行qemu,以运行另一个Guest OS,使用kvm(选项)。 我在尝试插入kvm-intel模块时收到以下错误: 我已经检查了来宾操作系统中的vpx标志,但我也没有看到 有没有办法在来宾Ubuntu操作系统中启用kvm支持,以便我可以在Ubuntu