如何在sqaure android datepicker库中禁用所选日期的单元格?

时间:2015-07-09 14:41:38

标签: java android datepicker

我正在尝试在时代广场日期选择器库中禁用所选日期。

我在onclicklistener

中添加了以下代码
            myCalendar.add(Calendar.YEAR, 1);
            calendar = (CalendarPickerView) calendarlayout.findViewById(R.id.calendar_view);
            Button donebutton = (Button) calendarlayout.findViewById(R.id.done_button);
            Date today = new Date();
            calendar.init(today, myCalendar.getTime())
                    .inMode(CalendarPickerView.SelectionMode.RANGE)
            .withHighlightedDates(getHolidays());

getholidays函数返回日期的arraylist。

private ArrayList<Date> getHolidays() {
    SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy");
    String dateInString = "21-07-2015";
    String dateInString1 = "22-07-2015";
    String dateInString2 = "23-07-2015";
    ArrayList<Date> holidays = new ArrayList<>();
    Date date, date1, date2 = null;
    try {
        date = sdf.parse(dateInString);
        holidays.add(date);
        date1 = sdf.parse(dateInString1);
        holidays.add(date1);
        date2 = sdf.parse(dateInString2);
        holidays.add(date2);
    } catch (ParseException e) {
        e.printStackTrace();
    }


    return holidays;
}

我如何禁用这些日期单元格无效(不可选择/可点击)

我正在使用此库https://github.com/square/android-times-square

提前致谢。

1 个答案:

答案 0 :(得分:0)

当你调用init()时,它会清除所有选定的旧日期。如果查看init实现,它会清除所有选定的单元格。示例如下所示。希望它有所帮助

    public void initializeCalendar(){ // or reset Calendar
       Calendar nextYear = Calendar.getInstance();
       nextYear.add(Calendar.YEAR, 1);

       Date today = new Date();

       calendar.init(today, nextYear.getTime())
            .withSelectedDate(today);
    }