Android在datepicker中禁用过去的日期

Aya*_*avi 0 android

我需要在datepicker控件中禁用过去的日期.此控件在对话框中打开,我想要禁用过去的日期,以便在选择过去日期时抛出错误.

mai*_*450 7

我想你正在使用DatePickerDialog和你必须传递给构造函数的OnDateSetListener不符合你的需要,因为你必须实际设置日期之前抛出错误.

在这种情况下,您可以扩展DatePickerDialog并创建自己的OnDateChanged实现,每次日期更改时调用它,并获取DatePicker的参数以及新的年,月和日值,以便您可以检查该日期是否已过去并且在这种情况下抛出错误(使用Toast或其他)并调用DatePicker.updateDate()来设置正确的值(以便DatePicker始终处于一致状态).

此外,您可以调用,DatePicker.init(year, monthOfYear, dayOfMonth, onDateChangedListener);然后您可以传递onDateChangedListener实现,而无需扩展DatePickerDialog