DatePicker的setMinDate()

时间:2013-05-31 14:03:34

标签: android datepicker

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

我需要将日期选择器的最小日期动态设置为当前日期。我的最低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月' ....

请帮帮我......

EDITED

我也试过这个,但效果相同:

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

2 个答案:

答案 0 :(得分:1)

来自my similar question and answer

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

如果带有日期选择器的工作日历视图是您的首选,我会考虑分叉平台代码并修复其中的错误。

答案 1 :(得分:0)

尝试:

Time now = new Time();
now.setToNow();

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