如何阻止只过去的DatePicker日期在android系统 [英] How to block only past dates in DatePicker in android
本文介绍了如何阻止只过去的DatePicker日期在android系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何阻止在android系统中的DatePicker只有过去的日期?
现在用的样品code。在过去的日期和当前日期被阻塞,
我只需要过去的日期在这里得到不阻塞当前日期是我的code
私人DatePickerDialog.OnDateSetListener mDateSetListener =
新DatePickerDialog.OnDateSetListener(){ 公共无效onDateSet(查看的DatePicker,诠释yearSelected,
INT monthOfYear,诠释请将dayOfMonth){
年= yearSelected;
月= monthOfYear;
天=请将dayOfMonth;
INT n_mon = monthOfYear + 1;
business_date_et.setText(日+ - + n_mon + - +年);
}
};
私人TimePickerDialog.OnTimeSetListener mTimeSetListener =
新TimePickerDialog.OnTimeSetListener(){ 公共无效onTimeSet(TimePicker观点,诠释HOUROFDAY,诠释分钟){
小时= HOUROFDAY;
分钟=分钟; business_time_et.setText(小时+:+分钟);
}
};
保护对话框onCreateDialog(INT ID){
开关(ID){
案例DATE_DIALOG_ID: DatePickerDialog DA =新DatePickerDialog(这一点,mDateSetListener,
mYear,mMonth,MDAY);
日历C = Calendar.getInstance(); c.add(Calendar.DATE,1);
日期newDate = c.getTime();
。da.getDatePicker()setMinDate(newDate.getTime());
返回DA; 案例TIME_DIALOG_ID:
返回新TimePickerDialog(这一点,
mTimeSetListener,mHour,mMinute,FALSE); }
返回null;
}
解决方案
您也可以尝试这样的:
da.getDatePicker()setMinDate(newDate.getTime() - (newDate.getTime()%(24 * 60 * 60 * 1000)))。
有基本上减去由当前的日子的偏移的当前日期。
how to block only past date in DatePicker in android? Am using sample code in that past date and current date getting blocked , I need only past date get blocked not current date here is my code
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int yearSelected,
int monthOfYear, int dayOfMonth) {
year = yearSelected;
month = monthOfYear;
day = dayOfMonth;
int n_mon = monthOfYear+1;
business_date_et.setText(day+"-"+n_mon+"-"+year);
}
};
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int min) {
hour = hourOfDay;
minute = min;
business_time_et.setText(hour+":"+minute);
}
};
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
DatePickerDialog da = new DatePickerDialog(this, mDateSetListener,
mYear, mMonth, mDay);
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 1);
Date newDate = c.getTime();
da.getDatePicker().setMinDate(newDate.getTime());
return da;
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener, mHour, mMinute, false);
}
return null;
}
解决方案
You can also try this:
da.getDatePicker().setMinDate(newDate.getTime()-(newDate.getTime()%(24*60*60*1000)));
It basically subtracts the current date by the current offset of the day.
这篇关于如何阻止只过去的DatePicker日期在android系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文