Android studio отключить дни от даты pickerdialog?
Я хочу отключить какой-нибудь день из date picker у меня есть массив, который хранит дни, которые я хочу отключить.
так что я имею в виду,что я хочу отключить,например, 3 дня (воскресенье, пятница, среда), как я могу это сделать, пожалуйста, помогите мне....
У меня есть этот код, чтобы отключить дни из календаря
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
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); } } }
David Crow
Вы пробовали расширить класс из DatePickerDialog
Я еще не смотрел, но это может дать вам возможность сделать некоторую инициализацию до того, как пользовательский интерфейс действительно будет показан.
Если нет, вам, возможно, придется пересмотреть свой подход или создать пользовательский элемент управления "выбор даты".