2017-11-03 19 views
0

i는 사용자가 .... 내가 mindate & maxdate 설정 시도 2016년 12월 31일에 1월 1일에서 같은 작년datepicker에서 특정 월 또는 연도를 선택하는 방법은 무엇입니까? 내 응용 프로그램에서

public static class LastYearBirthDatePicker extends DialogFragment 
     implements DatePickerDialog.OnDateSetListener { 
    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     final Calendar c = Calendar.getInstance(); 
     int year = c.get(Calendar.YEAR); 
     int month = c.get(Calendar.MONTH); 
     int day = c.get(Calendar.DAY_OF_MONTH); 

     DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day); 
     int lastYear = getCurrentYear()-1; 
     Calendar min = Calendar.getInstance(); 
     min.set(Calendar.DAY_OF_MONTH,1); 
     min.set(Calendar.MONTH,0); 
     min.set(Calendar.YEAR,lastYear); 
     dialog.getDatePicker().setMinDate(min.getTimeInMillis()); 
     Calendar max = Calendar.getInstance(); 
     max.set(Calendar.DAY_OF_MONTH,31); 
     max.set(Calendar.MONTH,11); 
     max.set(Calendar.YEAR,lastYear); 
     dialog.getDatePicker().setMaxDate(max.getTimeInMillis()); 
     return dialog; 
    } 

    public void onDateSet(DatePicker view, int year, int month, int day) { 


    } 
} 

을 날짜를 선택하고 싶지만 특정 연도 설정을위한 더 나은 옵션이 있습니다 단지 그리고 난

+0

같이 설정을 사용할 수 있습니다인가를 (특정 달에 어떤 일을 선택할 수있는 사용자)도 2016 년 어느 달처럼 특정 달에 같은 필요한이없는 작업, 또는대로 작동하지 않는 ~을 기대하다 디? – user5226582

+0

https://stackoverflow.com/questions/46842365/date-picker-not-working-on-api-26/46843164?noredirect=1#comment80634619_46843164 내 대답 좀보세요.! –

답변

0

당신이

Calendar cal = Calendar.getInstance(); 
cal.set(2016, 01, 01); 
cal.add(Calendar.YEAR, 1); 

int xxday = cal.get(Calendar.DATE); 
int xxmonth = cal.get(Calendar.MONTH); 
int xxyear = cal.get(Calendar.YEAR); 

datepicker.init(xxyear, xxmonth, xxday, null);