diff --git a/app/src/main/java/com/savvi/rangepickersample/SampleActivity.java b/app/src/main/java/com/savvi/rangepickersample/SampleActivity.java index 7a7ac78..44c8d2d 100644 --- a/app/src/main/java/com/savvi/rangepickersample/SampleActivity.java +++ b/app/src/main/java/com/savvi/rangepickersample/SampleActivity.java @@ -56,6 +56,7 @@ protected void onCreate(Bundle savedInstanceState) { calendar.init(lastYear.getTime(), nextYear.getTime(), new SimpleDateFormat("MMMM, YYYY", Locale.getDefault())) // .inMode(CalendarPickerView.SelectionMode.RANGE) // + .withMaxRangeSize(7) .withDeactivateDates(list) .withSubTitles(getSubTitles()) .withHighlightedDates(arrayList); diff --git a/rangedatepicker/src/main/java/com/savvi/rangedatepicker/CalendarPickerView.java b/rangedatepicker/src/main/java/com/savvi/rangedatepicker/CalendarPickerView.java index 596c0bd..8a385e4 100755 --- a/rangedatepicker/src/main/java/com/savvi/rangedatepicker/CalendarPickerView.java +++ b/rangedatepicker/src/main/java/com/savvi/rangedatepicker/CalendarPickerView.java @@ -96,6 +96,9 @@ public enum SelectionMode { private Typeface titleTypeface; private Typeface dateTypeface; + // the max range size + private int maxRangeSize = Integer.MAX_VALUE; + private OnDateSelectedListener dateListener; private DateSelectableFilter dateConfiguredListener; private OnInvalidDateSelectedListener invalidDateListener = @@ -344,6 +347,16 @@ public FluentInitializer withSubTitles(ArrayList subTitles) { setSubTitles(subTitles); return this; } + + /** + * set max range size + * @param size + * @return + */ + public FluentInitializer withMaxRangeSize(int size) { + maxRangeSize = size; + return this; + } } private void setSubTitles(ArrayList subTitles) { @@ -666,6 +679,10 @@ private boolean doSelectDate(Date date, MonthCellDescriptor cell) { } } } + + if (selectedCells.size() > maxRangeSize) { + clearSelectedDates(); + } } }