如何过滤日期选择器中的限制年份?

时间:2018-07-29 09:38:31

标签: android datepicker

我想要在日期选择器中过滤年份。
即:过滤器出现在1960-2000年,> 2000禁用或<1960禁用。

你能帮我吗?
我非常需要它。交易时间只有5小时。

public void selectDate(final EditText edt) {
    date = c.get(Calendar.DATE);
    month = c.get(Calendar.MONTH);
    year = c.get(Calendar.YEAR);
    datePickerDialog = new DatePickerDialog(getActivity(), AlertDialog.THEME_HOLO_LIGHT, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
            c.set(i, i1, i2);
            yearPast = i;
            SimpleDateFormat sdf = new SimpleDateFormat(myFormat);
            edt.setText(sdf.format(c.getTime()));
        }
    }, year, month, date);
    c.add(Calendar.YEAR, -18);
    datePickerDialog.getDatePicker().setMaxDate(c.getTimeInMillis());
    c.add(Calendar.YEAR, -42);
    datePickerDialog.getDatePicker().setMinDate(c.getTimeInMillis());
    Log.d("year", String.valueOf(year));
    datePickerDialog.show();
}

点击第一个为真,第二个为错误

1 个答案:

答案 0 :(得分:1)

DatePicker类可以使用两种方法:
setMinDate()setMaxDate() 请参阅文档:https://developer.android.com/reference/android/widget/DatePicker