Android日期选择器18岁验证

7

我正在使用这段代码来设置日期选择器的自定义日期... // 创建日期选择器对话框的方法

public static class DatePickerFragment extends DialogFragment implements 
    DatePickerDialog.OnDateSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // set default date
        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);

        // Create a new instance of DatePickerDialog and return it
        return new DatePickerDialog(getActivity(), this, year, month, day);
    }

    public void onDateSet(DatePicker view, int year, int month, int day) {
        // get selected date
        mYear = year;
        mMonth = month;
        mDay = day;

        // show selected date to date button
        dob.setText(new StringBuilder()
            .append(mYear).append("-")
            .append(mMonth + 1).append("-")
            .append(mDay).append(" "));
    }
}

我的情况是,每当用户设置一个日期时,日期应该验证用户至少18岁。否则,它会显示警告用户至少18岁。

2个回答

27

尝试使用 Calendar 类。

public void onDateSet(DatePicker view, int year, int month, int day) {
    Calendar userAge = new GregorianCalendar(year,month,day);
    Calendar minAdultAge = new GregorianCalendar();
    minAdultAge.add(Calendar.YEAR, -18);
    if (minAdultAge.before(userAge)) {
        SHOW_ERROR_MESSAGE;
    } 
}

这应该能够满足您的需求 :)


17

试一试

datePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis() - 568025136000L);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接