如何在Android中限制用户选择21岁以下的出生日期 [英] how to restrict user to select date of birth who is under 21 years in android
本文介绍了如何在Android中限制用户选择21岁以下的出生日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用DatePickerDialog选择用户的出生日期.如何限制用户选择从当前日期起21岁以下的出生日期.
I am using DatePickerDialog to select the users date of birth.How to restrict user to select date of birth who is under 21 years from current date.
例如:应限制用户1996年6月6日之后的出生日期
这是我的代码,
Date today = new Date();
Calendar c = Calendar.getInstance();
c.setTime(today);
c.add( Calendar.YEAR, -21 );
minDate= c.getTime().getTime();
Log.v(Constants.TAG, "selecteddsdf " + minDate);
public void showDatePickerDialog(View v) {
datePickerDialog = new DatePickerDialog(v.getContext(), new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
datePickerDialog.getDatePicker().setMinDate(minDate);
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
txtDOB.setText(dateFormatter.format(newDate.getTime()));
uDOB = dateFormatter2.format(newDate.getTime());
Log.e(Constants.TAG, "onDateSet: UserDob: " + uDOB);
}
}, year, month, date);
datePickerDialog.show();
}
推荐答案
您可以为此使用以下方法
You can use below method for that
datePickerDialog.getDatePicker().setMaxDate(minDate.getTime());
minDate的设置
setup for minDate
Date minDate = null;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
try
{
minDate = sdf.parse("31/12/1996");
}
catch (ParseException e)
{
e.printStackTrace();
}
这篇关于如何在Android中限制用户选择21岁以下的出生日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文