Lania Fatah Ответов: 0

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 Я еще не смотрел, но это может дать вам возможность сделать некоторую инициализацию до того, как пользовательский интерфейс действительно будет показан.

Если нет, вам, возможно, придется пересмотреть свой подход или создать пользовательский элемент управления "выбор даты".

0 Ответов