1. Android DatePicker 设定不能选取晚于今日日期
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
datePicker.init(year, month, day, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
if (isDateAfter(view)) {
Calendar mCalendar = Calendar.getInstance();
view.init(mCalendar.get(Calendar.YEAR),
mCalendar.get(Calendar.MONTH),
mCalendar.get(Calendar.DAY_OF_MONTH), this);
}
}
private boolean isDateAfter(DatePicker tempView) {
Calendar mCalendar = Calendar.getInstance();
Calendar tempCalendar = Calendar.getInstance();
tempCalendar.set(tempView.getYear(), tempView.getMonth(),
tempView.getDayOfMonth(), 0, 0, 0);
if (tempCalendar.after(mCalendar))
return true;
else
return false;
}
});
本文介绍了一种方法来阻止用户在Android应用中使用DatePicker选择未来的日期。通过监听DatePicker的更改事件并重新设置为当前日期,确保了用户只能选择今天的日期及之前的所有日期。

被折叠的 条评论
为什么被折叠?



