我目前在Android应用中使用DatePickerDialog
。
每个人都知道,对话框有三个EditText
s:1)(第2天),第3个月)。并且有三个+和 - 按钮可以移动到所选字段的前后。我需要知道" +"是否存在任何监听器。和" - "对话框中的按钮?
这是因为,在我的应用中,我不希望用户使用对话框在当前日期之前选择之前的日期。所以如果" - "单击按钮,应检查对话框中的日期是否小于当前日期。所以我需要一个倾听者,因为" - "对话框的按钮。
此外,我正在为从Froyo到KitKat的所有平台开发此应用程序。我听说setMinDate()
有一个DatePicker
。但它只能从HoneyComb获得。
答案 0 :(得分:2)
尝试覆盖onDateChnaged()
函数,这是示例:
DatePickerDialog mDatePickerDialog = new DatePickerDialog(this, mDateSetListener,mYear, mMonth, mDay){
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth){
// this function will call when user click on '+' or '-'. Apply validation here. you can call view.updateDate(mYear, mMonth, mDay); if u don't want to accept date that user trying to select by pressing +/-
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
/* this validation allow user to enter date less then current date */
if (year > mYear)
view.updateDate(mYear, mMonth, mDay);
if (monthOfYear > mMonth && year == mYear)
view.updateDate(mYear, mMonth, mDay);
if (dayOfMonth > mDay && year == mYear && monthOfYear == mMonth)
view.updateDate(mYear, mMonth, mDay);
}
};
DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
// Add your code here to handle selected date event by user
}
};
答案 1 :(得分:0)
您真的无法在setMinDate
下为api实施honeyComb
,但您仍然可以使用设计为在其中具有datePickerDialog
方法功能的后向移植setMinDate
来自froyo
及以上的工作,您可以查看此github project。
将该项目用作froyo到honeyComb的DatePicker
对话框,并使用android的常规默认DatePicker
以及以上版本。