code: private void updateEnabledItems() {
          PickerSpinnerAdapter adapter = (PickerSpinnerAdapter) getAdapter();
          // if the current item is out of range, we have no choice but to reset it
          if(!isInDateRange(getSelectedDate())) {
              final Calendar today = Calendar.getInstance();
              if(isInDateRange(today))
                  setSelectedDate(today);
              else
                  // if today itself is not a valid date, we will just use the minimum date (which is always set here)
                  setSelectedDate(minDate);
          }
  
          for(int position = getLastItemPosition(); position >= 0; position--) {
              DateItem item = (DateItem) adapter.getItem(position);
              if(isInDateRange(item.getDate()))
                  item.setEnabled(true);
              else
                  item.setEnabled(false);
          }
      }
docs: Loops through the Spinner items and disables all that are not within the min/max date range.