首页 > 解决方案 > 从 CalenderView 禁用星期五

问题描述

我在我的应用程序中使用CalenderView,我需要禁用从中选择星期五,如果可能需要将其显示为灰色(不可选择)

<CalendarView
    android:id="@+id/simpleCalendarView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

标签: javaandroiddateandroid-calendar

解决方案


private Calendar lastSelectedCalendar = null;
private CalendarView calendarView;


calendarView = (CalendarView) findViewById(R.id.calendarView);
lastSelectedCalendar = Calendar.getInstance();
calendarView.setMinDate(lastSelectedCalendar.getTimeInMillis() - 1000);
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {

@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
    Calendar checkCalendar = Calendar.getInstance();
    checkCalendar.set(year, month, dayOfMonth);
    if(checkCalendar.equals(lastSelectedCalendar))
        return;
    if(checkCalendar.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY)
        calendarView.setDate(lastSelectedCalendar.getTimeInMillis());
    else
        lastSelectedCalendar = checkCalendar;
}
});

推荐阅读