2017-01-24 8 views
0

android에서 DatePickerFragment을 사용하여 datepicker를 만들었습니다.Android : DatePickerFragment에서 미래의 날짜를 사용 중지하는 방법

다음

내 코드는,

@OnClick(R.id.add_info_food_date_edit) 
public void setDate() { 

    DatePickerFragment datePickerFragment = new DatePickerFragment(); 
    datePickerFragment.setCallbackListener(new DatePickerFragment.onDatePickerListener() { 
     @Override 
     public void onDataSet(int year, int month, int day) { 

      int currentMonth = 0; 

      if (month == 0) { 
       currentMonth = 1; 
      } else if (month == 1) { 
       currentMonth = 2; 
      } else if (month == 2) { 
       currentMonth = 3; 
      } else if (month == 3) { 
       currentMonth = 4; 
      } else if (month == 4) { 
       currentMonth = 5; 
      } else if (month == 5) { 
       currentMonth = 6; 
      } else if (month == 6) { 
       currentMonth = 7; 
      } else if (month == 7) { 
       currentMonth = 8; 
      } else if (month == 8) { 
       currentMonth = 9; 
      } else if (month == 9) { 
       currentMonth = 10; 
      } else if (month == 10) { 
       currentMonth = 11; 
      } else if (month == 11) { 
       currentMonth = 12; 
      } else if (month == 12) { 

      } 

      dateEditText.setText(day + "/" + currentMonth + "/" + year); 
     } 
    }); 

    DialogFragment datePicker = datePickerFragment; 

    datePicker.show(getSupportFragmentManager(), "datePicker"); 
} 

지금이 코드를 파괴하지 않고이 날짜 선택기에서 미래의 일을 비활성화합니다. 아직도 나는 변화에 대해 좋은 생각을하지 못했다. 이것을 어떻게 할 수 있습니까?

아이디어가 있으십니까? 갱신이

datePicker.getDatePicker().setMaxDate(System.currentTimeMillis()); 

같은 현재 날짜로

+0

가능한 중복 http://stackoverflow.com/questions/ 16749361/how-set-maximum-date-in-datepicker-dialog-in-android) –

+0

@RahulSharma : 코드를 확인하십시오. 이 코드는 차이가 있습니다. – Barrier

답변

1

setMaxDate

DialogFragment newFragment = datePickerFragment; 
newFragment.show(getFragmentManager(), "datePicker"); 
getFragmentManager().executePendingTransactions();  // commits the show method from above 
DatePickerDialog dialog = (DatePickerDialog) newFragment.getDialog(); 
DatePicker datePicker = (DatePicker) dialog.getDatePicker(); 
Date date = new Date(); 
datePicker.setMaxDate(date.getTime()); 
[안드로이드에서 날짜 선택기 대화 상자에서 어떻게 설정 최대 날짜?] (의
+0

'DialogFragment'에서 사용 가능한'getDatePicker'를 볼 수 없습니다. 내 최소 SDK 버전은 15이고 대상은 24입니다. – Barrier

+0

업데이트 확인 응답 – sasikumar