在Android中使用未来日期限制日期选择器
Posted
技术标签:
【中文标题】在Android中使用未来日期限制日期选择器【英文标题】:Restrict date picker with future date in Android 【发布时间】:2015-06-03 06:16:18 【问题描述】:我正在使用日期选择器来选择日期的 android 应用程序。我正在使用它作为出生日期,现在我想限制用户不要选择任何未来的日期。
我的代码如下:
private void checkDate()
final Calendar c = Calendar.getInstance();
mSelectedYear = c.get(Calendar.YEAR);
mSelectedMonth = c.get(Calendar.MONTH);
mSelectedDay = c.get(Calendar.DAY_OF_MONTH);
txtDateOfBirth.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
showDialog(mDATE_PICKER_ID);
);
@Override
protected Dialog onCreateDialog(int id)
switch (id)
case mDATE_PICKER_ID:
return new DatePickerDialog(this, pickerListener, mSelectedYear,mSelectedMonth, mSelectedDay);
return null;
private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener()
@Override
public void onDateSet(DatePicker view, int selectedyear,
int selectedmonth, int selectedday)
mSelectedYear = selectedyear;
mSelectedMonth = selectedmonth;
mSelectedDay = selectedday;
txtDateOfBirth.setText(new StringBuilder().append(mSelectedMonth + 1).append("-").append(mSelectedDay).append("-").append(mSelectedYear).append(" "));
mDateSelected = new StringBuilder().append(mSelectedDay).append("-").append(mSelectedMonth + 1).append("-").append(mSelectedYear).toString();
;
【问题讨论】:
【参考方案1】:使用它来将对话框限制在当前日期:
datePicker.getDatePicker().setMaxDate(new Date().getTime());
但请记住,它仅适用于 API 11 或更高版本
【讨论】:
你能检查我编辑过的问题,并说明我应该在哪里纠正这条线来限制我的选择器。以上是关于在Android中使用未来日期限制日期选择器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 React 本机 ios/android datepicker 中限制日期选择