|
@ -20,26 +20,23 @@ public class DayWheel extends Wheel { |
|
|
Calendar cal = getStartCal(); |
|
|
Calendar cal = getStartCal(); |
|
|
Calendar endCal = getEndCal(); |
|
|
Calendar endCal = getEndCal(); |
|
|
|
|
|
|
|
|
int i = 0; |
|
|
|
|
|
do { |
|
|
|
|
|
displayValues.add(getDisplayValue(cal)); |
|
|
|
|
|
|
|
|
while (!cal.after(endCal)){ |
|
|
values.add(getValueFormat(cal)); |
|
|
values.add(getValueFormat(cal)); |
|
|
|
|
|
displayValues.add(getDisplayValue(cal)); |
|
|
cal.add(Calendar.DATE, 1); |
|
|
cal.add(Calendar.DATE, 1); |
|
|
i++; |
|
|
|
|
|
} |
|
|
} |
|
|
while (!isSameDay(cal,endCal)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
picker.setMaxValue(0); |
|
|
picker.setMaxValue(0); |
|
|
picker.setDisplayedValues(displayValues.toArray(new String[0])); |
|
|
picker.setDisplayedValues(displayValues.toArray(new String[0])); |
|
|
picker.setMinValue(0); |
|
|
picker.setMinValue(0); |
|
|
picker.setMaxValue(i-1); |
|
|
|
|
|
|
|
|
picker.setMaxValue(displayValues.size() - 1); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private Calendar getStartCal(){ |
|
|
private Calendar getStartCal(){ |
|
|
Calendar cal = pickerView.getInitialDate(); |
|
|
Calendar cal = pickerView.getInitialDate(); |
|
|
if (pickerView.minDate != null) { |
|
|
if (pickerView.minDate != null) { |
|
|
cal.setTime(pickerView.minDate); |
|
|
cal.setTime(pickerView.minDate); |
|
|
|
|
|
resetToMidnight(cal); |
|
|
} |
|
|
} |
|
|
else cal.add(Calendar.DATE, -defaultNumberOfDays / 2); |
|
|
else cal.add(Calendar.DATE, -defaultNumberOfDays / 2); |
|
|
return cal; |
|
|
return cal; |
|
@ -49,11 +46,19 @@ public class DayWheel extends Wheel { |
|
|
Calendar cal = Calendar.getInstance(); |
|
|
Calendar cal = Calendar.getInstance(); |
|
|
if (pickerView.maxDate != null) { |
|
|
if (pickerView.maxDate != null) { |
|
|
cal.setTime(pickerView.maxDate); |
|
|
cal.setTime(pickerView.maxDate); |
|
|
|
|
|
resetToMidnight(cal); |
|
|
} |
|
|
} |
|
|
else cal.add(Calendar.DATE, defaultNumberOfDays / 2); |
|
|
else cal.add(Calendar.DATE, defaultNumberOfDays / 2); |
|
|
return cal; |
|
|
return cal; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void resetToMidnight(Calendar cal){ |
|
|
|
|
|
cal.set(Calendar.HOUR_OF_DAY, 0); |
|
|
|
|
|
cal.set(Calendar.MINUTE, 0); |
|
|
|
|
|
cal.set(Calendar.SECOND, 0); |
|
|
|
|
|
cal.set(Calendar.MILLISECOND, 0); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private boolean isSameDay(Calendar c1, Calendar c2) { |
|
|
private boolean isSameDay(Calendar c1, Calendar c2) { |
|
|
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy", pickerView.locale); |
|
|
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy", pickerView.locale); |
|
|
return (sdf.format(c1.getTime()).equals(sdf.format(c2.getTime()))); |
|
|
return (sdf.format(c1.getTime()).equals(sdf.format(c2.getTime()))); |
|
|