我正在尝试使用 Android 日期选择器通过两个输入来选择日期范围。开始日期以结束日期作为其最大日期,结束日期以开始日期作为最小日期。
我想允许将日期选择器设置为相同的日期,以便能够选择一天作为范围(因为范围包括在内)。
但是好像min date是inclusive而max date总是exclusive?有什么办法可以使最大日期包含在内吗?现在,日期选择器将结束日期设置为可选择的样式,但事实并非如此(我真的很讨厌,因为这太让人困惑了)。它最终看起来像这样(允许 2 月 28 日作为最大可选择 日期——注意 3 月 1 日看起来是可选择的,但实际上不是):
我没有在我的代码中做任何特别的事情。只需创建一个 DatePickerDialog
,然后调用 dialog.getDatePicker().setMaxDate(maxDateInMs)
。
最佳答案
我意识到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();
关于android - 使日期选择器包含最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42265259/