2017-02-16 85 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

相關問題