【问题标题】:setMinDate() for DatePicker [duplicate]DatePicker 的 setMinDate() [重复]
【发布时间】:2013-05-31 14:03:33
【问题描述】:

我在几个地方看到了关于堆栈溢出的这个问题,但是给定的答案对我不起作用,所以我在这里:)。

我需要将日期选择器的最小日期动态设置为当前日期。我的最低 API 是 12。

我试过这个:

Calendar minCalendar = Calendar.getInstance();
minCalendar.set(Calendar.MILLISECOND, minCalendar.MILLISECOND - 1000);

DatePicker endDatePicker = (DatePicker) findViewById(R.id.datePicker2);
endDatePicker.setMinDate(minCalendar.getTimeInMillis());

我没有收到任何错误,只是日期选择器未设置为今天。它设置为“1964 年 10 月”....

请帮帮我...

已编辑

这个我也试过了,效果一样:

endDatePicker.setMinDate(System.currentTimeMillis() - 1000);

【问题讨论】:

    标签: android datepicker


    【解决方案1】:

    来自my similar question and answer

    // Calendar view is a cascade of bugs.
    // Work around that by explicitly disabling it.
    datePicker.setCalendarViewShown(false);
    

    如果您优先考虑使用带有日期选择器的工作日历视图,我会考虑分叉平台代码并修复那里的错误。

    【讨论】:

      【解决方案2】:

      试试:

      Time now = new Time();
      now.setToNow();
      
      DatePicker endDatePicker = (DatePicker) findViewById(R.id.datePicker2);
      endDatePicker.setMinDate(now.toMillis(false));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-08
        • 1970-01-01
        • 2018-01-29
        • 1970-01-01
        相关资源
        最近更新 更多