我第一次尝试使用 DateTimePicker,我很困惑在过去 3 天和 future 的一天禁用它。嗯,也许我一直在研究 http://tips.androidgig.com/disable-future-dates-from-datepickerdialog/ 但我无法在我的函数中实现。
这是我点击 TextView 时显示 DateTimePicker 的函数
private void setDatePicker() {
calDate1 = Calendar.getInstance();
calDate2 = Calendar.getInstance();
final DatePickerDialog.OnDateSetListener dateSet1 = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int date) {
calDate1.set(year, month, date);
displayDate(tvDate1, calDate1);
}
};
tvDate1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new DatePickerDialog(TicketStatusActivity.this, dateSet1, calDate1.get(Calendar.YEAR), calDate1.get(Calendar.MONTH), calDate1.get(Calendar.DAY_OF_MONTH)).show();
}
});
final DatePickerDialog.OnDateSetListener dateSet2 = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int date) {
calDate2.set(year, month, date);
displayDate(tvDate2, calDate2);
}
};
tvDate2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new DatePickerDialog(TicketStatusActivity.this, dateSet2, calDate2.get(Calendar.YEAR), calDate2.get(Calendar.MONTH), calDate2.get(Calendar.DAY_OF_MONTH)).show();
}
});
displayDate(tvDate1, calDate1);
displayDate(tvDate2, calDate2);}
对不起,如果这个问题不重要而且我的语法不好 고맙습니다
最佳答案
在日期选择器中设置 MaxDate。
试试这个:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -3);
DatePickerDialog dpDialog = new DatePickerDialog(this, myDateListener, mYear, mMonth, mDay);
dpDialog.getDatePicker().setMaxDate(cal.getTimeInMillis());
关于java - 如何禁用最近 3 天和 future 的 DateTimePicker android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51777982/