【发布时间】:2011-08-23 07:08:16
【问题描述】:
如何限制日期选择器在我正在使用 google api 的 android 中接受当前和未来的日期...任何想法..?
【问题讨论】:
标签: android datepicker
如何限制日期选择器在我正在使用 google api 的 android 中接受当前和未来的日期...任何想法..?
【问题讨论】:
标签: android datepicker
从 API 级别 11 开始,就有了一种方法:
DatePicker.setMaxDate(long maxDate)
如果它必须在以前的版本中工作,请使用此方法:
public void init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)
您可以传递您自己的 OnDateChangedListener,它将无效日期“重置”为最新的有效日期:
DatePicker picker = ...
int year = ...
int monthOfYear = ...
int dayOfMonth = ...
picker.init(year, monthOfYear, dayOfMonth, new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// check if current date is OK
boolean dateOk = ...
if (!dateOk) {
// correct the date, but be sure the corrected date is OK
// => otherwise you might get endless recursion
year = ...
monthOfYear = ...
dayOfMonth = ...
// update the date widget with the corrected date values
view.updateDate(year, monthOfYear, dayOfMonth);
}
}
});
【讨论】: