安卓:日期选取器不应该接受当前日期和未来日期 [英] Android: Date Picker Should not accept current date and future dates
本文介绍了安卓:日期选取器不应该接受当前日期和未来日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何从接受当前和未来日期的android我使用谷歌API ...任何想法,限制的日期选择器..?
解决方案
-
由于API级别11存在的一个方法:
DatePicker.setMaxDate(长的maxDate)
-
如果它在previous版本一起使用,用这个方法:
公共无效的init(INT年,INT monthOfYear,INT DAYOFMONTH,DatePicker.OnDateChangedListener onDateChangedListener)
您可以通过自己的OnDateChangedListener其中复位无效日期到最新有效的一种:
的DatePicker选择器= ...
INT年= ...
INT monthOfYear = ...
INT DAYOFMONTH = ...
picker.init(年,monthOfYear,DAYOFMONTH,新DatePicker.OnDateChangedListener(){
@覆盖
公共无效onDateChanged(DatePicker的观点,年整型,诠释monthOfYear,诠释DAYOFMONTH){
//检查当前的日期是确定
布尔dateOk = ...
如果(!dateOk){
//正确的日期,但可以肯定的修正日期确定
// =>否则,你可能会得到无穷的递归
年= ...
monthOfYear = ...
DAYOFMONTH = ...
//更新日期部件与修正日期值
view.updateDate(年,monthOfYear,DAYOFMONTH);
}
}
});
How to restrict date picker from accepting current and future dates in android i am using google api...any idea..?
解决方案
Since API level 11 there is a method for that:
DatePicker.setMaxDate(long maxDate)
If it has to work in previous versions, use this method:
public void init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)
You could pass your own OnDateChangedListener which "resets" invalid dates to the newest valid one:
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);
}
}
});
这篇关于安卓:日期选取器不应该接受当前日期和未来日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文