在日期选择器中设置最大和中间日期

时间:2017-09-04 11:14:23

标签: android android-datepicker

我试图设置最大日,即当前日和20年后的最小年。如何在我的日期选择器上设置这个?

继承人选择日期的代码

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();
    }
});

我使用edittext字段来显示日期选择器。谁能解释或向我展示它是如何完成的?

1 个答案:

答案 0 :(得分: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());