android datepicker 18岁验证

Kha*_*sar 4 android datepicker

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

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(" "));
    }
}
Run Code Online (Sandbox Code Playgroud)

我的情况是,当用户设置日期时,日期应该验证用户是至少18岁..否则它将显示警报用户至少18岁..

dat*_*eah 24

尝试使用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;
    } 
}
Run Code Online (Sandbox Code Playgroud)

这应该做你想要的:)


Ket*_*ani 14

尝试这个

datePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis() - 568025136000L);
Run Code Online (Sandbox Code Playgroud)