我正在尝试使用Android日期选择器通过两个输入选择日期范围。开始日期的结束日期为最大日期,结束日期的开始日期为最小日期。
我想允许将日期选择器设置为相同的日期,以便选择一天作为范围(因为范围包括在内)。
但似乎最小日期是包容性的,最大日期总是排他性的?是否有任何方法可以使最大日期具有包容性?现在,日期选择器将结束日期设置为可选择的样式,但它不是(我真的很讨厌,因为那令人困惑,因为地狱)。它最终看起来像这样(允许2月28日作为最大可选日期 - 请注意Mar 1 看起来如何可选,但事实并非如此):
我的代码中没有做任何特别的事情。只需创建DatePickerDialog
,然后调用dialog.getDatePicker().setMaxDate(maxDateInMs)
。
答案 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();