在最长日期包含日期选择器

时间:2017-02-16 04:54:56

标签: android datepicker

我正在尝试使用Android日期选择器通过两个输入选择日期范围。开始日期的结束日期为最大日期,结束日期的开始日期为最小日期。

我想允许将日期选择器设置为相同的日期,以便选择一天作为范围(因为范围包括在内)。

但似乎最小日期是包容性的,最大日期总是排他性的?是否有任何方法可以使最大日期具有包容性?现在,日期选择器将结束日期设置为可选择的样式,但它不是(我真的很讨厌,因为那令人困惑,因为地狱)。它最终看起来像这样(允许2月28日作为最大可选日期 - 请注意Mar 1 看起来如何可选,但事实并非如此):

Appearance

我的代码中没有做任何特别的事情。只需创建DatePickerDialog,然后调用dialog.getDatePicker().setMaxDate(maxDateInMs)

1 个答案:

答案 0 :(得分:3)

我意识到minday和maxday都是包容性的

final Calendar myCalendar = Calendar.getInstance();
DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,
            int dayOfMonth) {
    }
};

DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, date, myCalendar
        .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
        myCalendar.get(Calendar.DAY_OF_MONTH));

datePickerDialog.getDatePicker().setMinDate(myCalendar.getTimeInMillis());
datePickerDialog.getDatePicker().setMaxDate(myCalendar.getTimeInMillis()+ DateUtils.DAY_IN_MILLIS);

datePickerDialog.show();

enter image description here