2017-09-04 77 views
0

我试图设置最大值日期,即当前日期和20年前的最小值年份。如何设置我的日期选择器?设置日期选择器中的最大值和中值日期

继承人使用一个EditText场在日期选择器选择日期

final DatePickerDialog.OnDateSetListener date= new DatePickerDialog.OnDateSetListener() { 
    @Override 
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { 

     myCalendar.set(Calendar.YEAR, year); 
     myCalendar.set(Calendar.MONTH, month); 
     myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); 
     year=myCalendar.get(Calendar.YEAR); 
     updateLabel(); 
    } 
}; 
pet_bday.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     pet_name.clearFocus(); 
     new DatePickerDialog(register_pet.this, date, myCalendar 
       .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH), 
       myCalendar.get(Calendar.DAY_OF_MONTH)).show(); 
    } 
}); 

IM的代码。任何人都可以解释或向我展示它是如何完成的?

回答

0

试试这个设置分&最大日期在日期选择器

集分钟日期这样

mDatePicker.getDatePicker().setMinDate(System.currentTimeMillis()); 

设置最大日期这样

Calendar maxDate = Calendar.getInstance(); 
     maxDate.set(Calendar.DAY_OF_MONTH, mDay);// here set max day 
     maxDate.set(Calendar.MONTH, mMonth);// here set max month 
     maxDate.set(Calendar.YEAR, mYear); // here set max yesr  

mDatePicker.getDatePicker().setMaxDate(maxDate.getTimeInMillis()); 
+0

先生,我可以问你从哪里得到的mdatepicker变量? –

+0

mdatepicker是你的datepicker对话框对象 –

+0

它似乎getDatePicker()是未定义的类型DatePickerDialog我应该现在做什么? –

0

设置最大日期为今天。

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

设定分钟日期

Calendar minDate = Calendar.getInstance(); 
minDate.add(Calendar.YEAR, -20); //You are setting past 20 years. 
mDatePicker.getDatePicker().setMinDate(minDate.getTimeInMillis()); 
相关问题