2017-02-16 111 views
3

我试图使用Android日期选择器通过两个输入来选择日期范围。开始日期的结束日期为最长日期,结束日期的开始日期为最短日期。使日期选择器包含最大日期

我想让日期选择器被设置为相同的日期,以便选择一天作为范围(因为范围是包含的)。

但似乎最小日期是包含和最大日期总是排他性的?有什么办法可以使最大日期变得具有包容性?现在日期选择器将结束日期设置为可选择的样式,但它不是(我真的很讨厌这个,因为这太混乱了)。它结束了看起来像这样(允许2月28日作为最大可选择日 - 请注意,3月1日的样子像它的选择,但它不是):

Appearance

我没有做我的代码中有什么特别的。只需创建一个DatePickerDialog,然后致电dialog.getDatePicker().setMaxDate(maxDateInMs)

回答

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

+0

我尝试这样做,在视觉上,我看到了同样的事情(因为原来的问题问),但我不能选择上限。它的风格可选,但它不可能。我想知道它是否可能是我的手机,因为它停留在Android的5.x版本上。 – Kat

+0

@Kat你的手机是什么?我在模拟器nexus上测试,它工作正常。请尝试在一些模拟器上测试 –

+1

我试过了一个模拟器,它确实看起来像我的手机。这很奇怪,现在我不知道该如何处理,哈哈。我想我会假设大多数人的手机并不像我的那样混乱:P。 – Kat

相关问题