我是一名学生,我正在开发一个Android预订应用程序。在这些应用程序中,我有一个选择日期的按钮,当我点击按钮时会出现一个用于选择日期的对话框,但我想< strong>停用所有以前的日期,只想显示一个月的当前日期和更多3个日期。请帮助我如何执行此操作谢谢
pPickDate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
final Calendar cal = Calendar.getInstance();
pYear = cal.get(Calendar.YEAR);
pMonth = cal.get(Calendar.MONTH);
pDay = cal.get(Calendar.DAY_OF_MONTH);
/** Display the current date in the TextView */
updateDisplay();
}
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this,
pDateSetListener,
pYear, pMonth, pDay);
}
return null;
}
private void updateDisplay() {
pDisplayDate.setText(
new StringBuilder()
// Month is 0 based so add 1
.append(pMonth + 1).append("/")
.append(pDay).append("/")
.append(pYear).append(" "));
}
答案 0 :(得分:0)
您可以为DatePicker设置最小和最大日期,执行以下操作:
yourDatePickerDialog.getDatePicker().setMinDate(youMinDate);
https://developer.android.com/reference/android/widget/DatePicker.html#setMinDate(long)
答案 1 :(得分:0)
尝试这个
DatePickerDialog datePicker;
private Calendar calendar;
private int year, month, day;
// FETCH YEAR,MONTH,DAY FROM CALENDAR
calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DAY_OF_MONTH);
datePicker = new DatePickerDialog(this, YOUR_LISTENER, year, month, day);
// this line is used for disable previous date but u can select the date
datePicker.getDatePicker().setMinDate(System.currentTimeMillis());
// this line is used to prevent date selection
datePicker.getDatePicker().setCalendarViewShown(false);