如何禁用日历中的特定日期

时间:2017-06-20 10:07:46

标签: android calendar

如何禁用特定日期?我不是指之前或将来的日期,而是指定日期,例如假期。

3 个答案:

答案 0 :(得分:3)

  

如何在日历中禁用特定日期

AFAIK 否您无法在日历中禁用特定日期,因为它是 这不是内置行为

为此目的,您必须使用第三方库或您必须创建自己的

您必须使用自定义日期选择器。

答案 1 :(得分:1)

终于找到了..如何禁用日历中的指定日期..

    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
                    String a = "26-07-2017";
                    java.util.Date date = null;
                    try {
                        date = sdf.parse(a);
                        MainActivity obj = new MainActivity();
                        calendar = obj.dateToCalendar(date);
                        System.out.println(calendar.getTime());
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }

                    List<Calendar> dates = new ArrayList<>();
                    dates.add(calendar);
                    Calendar[] disabledDays1 = dates.toArray(new Calendar[dates.size()]);
                    dpd.setDisabledDays(disabledDays1);

private Calendar dateToCalendar(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return calendar;
    }

答案 2 :(得分:0)

要在日历中启用指定日期,您可以使用此library

此处如果您将在示例中看到DatePickerFragment。我们正在传递一系列日历日期。

               Calendar[] days = new Calendar[13];
                for (int i = -6; i < 7; i++) {
                    Calendar day = Calendar.getInstance();
                    day.add(Calendar.DAY_OF_MONTH, i * 2);
                    days[i + 6] = day;
                }
               dpd.setSelectableDays(days);

我们可以创建指定格式的日历日期数组,并将该日历日期数组传递给日期选择器对话框以启用它。

您可以用类似的方式实现目标。