【发布时间】:2020-03-02 13:46:29
【问题描述】:
我想从日期选择器中禁用某天 我有一个数组来存储我想要禁用的日期。
我有这段代码可以禁用日历中的日期
for (Calendar loopdate = min_date_c;
min_date_c.before(max_date_c);
min_date_c.add(Calendar.DATE, 1), loopdate = min_date_c) {
int dayOfWeek = loopdate.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.FRIDAY) {
Calendar[] disabledDays = new Calendar[1];
disabledDays[0] = loopdate;
datePickerDialog.setDisabledDays(disabledDays);
}
}
我尝试使用此代码禁用存储在 arraylist 中的日期,但它不起作用。它只禁用数组列表中的第一项
ArrayList a=new ArrayList();
a.add(1); //saturday
a.add(2); //sunday
a.add(3); //monday
int day;
for(int i=0; i<a.size();i++) {
day=(Integer)a.get(i);
for (Calendar loopdate = min_date_c;
min_date_c.before(max_date_c);
min_date_c.add(Calendar.DATE, 1), loopdate = min_date_c) {
int dayOfWeek = loopdate.get(Calendar.DAY_OF_WEEK);
if (day == 1) {
System.out.println(day);
if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.FRIDAY) {
Calendar[] disabledDays = new Calendar[1];
disabledDays[0] = loopdate;
datePickerDialog.setDisabledDays(disabledDays);
}
}
else if (day==2) {
System.out.println(day);
if (dayOfWeek == Calendar.SUNDAY || dayOfWeek == Calendar.FRIDAY) {
Calendar[] disabledDays = new Calendar[1];
disabledDays[0] = loopdate;
datePickerDialog.setDisabledDays(disabledDays);
}
}
else if (day==3) {
System.out.println(day);
if (dayOfWeek == Calendar.MONDAY || dayOfWeek == Calendar.FRIDAY) {
Calendar[] disabledDays = new Calendar[1];
disabledDays[0] = loopdate;
datePickerDialog.setDisabledDays(disabledDays);
}
}
}
我该如何解决这个问题?
【问题讨论】:
-
经过编辑以提高可读性
标签: java android datetime datepicker android-calendar