如何禁用以往在Android的日期选择器日期? [英] How to disable past dates in Android date picker?
问题描述
如何禁用过去的日期,在Android的日期选择器?
@覆盖 受保护的对话框onCreateDialog(INT ID){ 开关(ID){ 案例DATE_DIALOG_ID: //设置日期选取器为当前日期 返回新DatePickerDialog(这一点,datePickerListener,年,月, 日); } 返回null; }
私人DatePickerDialog.OnDateSetListener datePickerListener =新DatePickerDialog.OnDateSetListener(){
公共无效onDateSet(DatePicker的观点,诠释selectedYear,
INT selectedMonth,诠释selectedDay){
年= selectedYear;
一个月= selectedMonth + 1;
天= selectedDay;
startdate.setText(新的StringBuilder()追加(天).append( - )
.append(得到月(月+ 1))附加( - )。追加(年)
。附加( ));
}
};
您可以做
datePicker.setMinDate(System.currentTimeMillis的() - 1000);
这台今天的日期作为最小的日期和所有的过去的日期将被禁用。
日期选择器
是的DatePicker
的对象,如果您使用的是 DatePickerDialog <对象/ code>,你可以做
datePickerDialog.getDatePicker()setMinDate(System.currentTimeMillis的() - 1000)。
注意: setMinDate
在11 API中引入
How to disable past dates in Android date picker?
@Override protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: // set date picker as current date return new DatePickerDialog(this, datePickerListener, year, month, day); } return null; }
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
year = selectedYear;
month = selectedMonth+1;
day = selectedDay;
startdate.setText(new StringBuilder().append(day).append("-")
.append(getMonth(month + 1)).append("-").append(year)
.append(" "));
}
};
You can do
datePicker.setMinDate(System.currentTimeMillis() - 1000);
which sets today's date as minimum date and all the past dates are disabled.
datePicker
is an object of DatePicker
if you are using an object of DatePickerDialog
you can do
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
Note: setMinDate
was introduced in API 11
这篇关于如何禁用以往在Android的日期选择器日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!