androidcalendarview

How to highlight multiple dates in a android CalendarView programmatically


I need to highlight several dates in a CalendaView. that should look like, enter image description here

I tried setDate(), but it didn't work as I want. Please help me to find a solution. Thanks in advance.


Solution

  • Follow this link to get the library mCalendarView

    1. Use 3rd party library McalenderView.

    2. Add to your gradle:

      sun.bob:mcalendarview:1.0.0

    Try this code:

    1. Some code:
    calendarView = ((MCalendarView) view.findViewById(R.id.calendar_exp));
    
    ArrayList<DateData> dates=new ArrayList<>();
    dates.add(new DateData(2018,04,26));
    dates.add(new DateData(2018,04,27));
    
    for(int i=0;i<dates.size();i++) {
        //mark multiple dates with this code.
        calendarView.markDate(dates.get(i).getYear(),dates.get(i).getMonth(),dates.get(i).getDay()); 
    }
    
    
    Log.d("marked dates:-","" + calendarView.getMarkedDates()); //get all marked dates.