2016-11-29 7 views
0

Я пробовал много, но ничего не работает для меня может кто-нибудь помочь мне, как отключить определенные даты в календаре вот мой код, но он просто скрывает прошлые даты.Как отключить определенные даты в android в datetime picker

  final Calendar c = Calendar.getInstance(); 
      mYear = c.get(Calendar.YEAR); 
      mMonth = c.get(Calendar.MONTH); 
      mDay = c.get(Calendar.DAY_OF_MONTH); 


      DatePickerDialog datePickerDialog = new DatePickerDialog(MoreDetail.this, 
        new DatePickerDialog.OnDateSetListener() { 

         @Override 
         public void onDateSet(DatePicker view, int year, 
               int monthOfYear, int dayOfMonth) { 
          String s = dayOfMonth + "" + "-" + monthOfYear + 1 + "" + "-" + year + ""; 
         } 
        }, mYear, mMonth, mDay); 
      Calendar minDate = Calendar.getInstance(); 
      minDate.set(mYear, mMonth, mDay); 
      datePickerDialog.getDatePicker().setMinDate(minDate.getTimeInMillis()); 
      datePickerDialog.show(); 
+0

Вы не можете отключить определенные даты - вы можете установить диапазон (min/max) ... но это один 'String s = dayOfMonth +" "+" - "+ monthOfYear + 1 +" "+" - " + year + ""; 'is [great] (http://ideone.com/Gjharc) – Selvin

+1

@Innocent: проверьте это -> http://stackoverflow.com/a/34730506/4018207 – AndiGeeky

+0

На данный момент вы можете do - это создать список дат, которые должны быть отключены. После того, как пользователь выберет дату, отметьте, что дата указана в списке отключенной даты или нет. Если он находится в списке отключенной даты, сделайте сообщение об ошибке и снова отобразите календарь. –

ответ

2

Пожалуйста, проверьте это репо на GitHub для CustomDatePicker.

https://github.com/wdullaer/MaterialDateTimePicker

setDisabledDays (Календарь [] дней)

Значения в этом календаре [] явно запрещено (не выбирается). Эта опция может использоваться вместе с setSelectableDays (Calendar [] days): в случае, если есть столкновение setDisabledDays (Календарь [] дней) будет иметь приоритет перед setSelectableDays (Календарь [] дней)

Спасибо.

+0

Это никогда не позволяет более одного года только нов и dec не достаточно – Innocent