How to highlight multiple dates in a android CalendarView programmatically

18,480

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.
Share:
18,480
Kavin-K
Author by

Kavin-K

I am a highly competent mobile application developer with 4+ years of experience developing a wide range of applications in iOS and Android for a range of clients. I have proven expertise in building eCommerce apps. I am enthusiastic, committed to professional growth, work well under stress, and can meet deadlines. I am also self-motivated, a team player, and can think on my feet, able to adapt and change as situation warrants.

Updated on July 25, 2022

Comments

  • Kavin-K
    Kavin-K almost 2 years

    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.

  • sagar potdar
    sagar potdar about 6 years
    Did this solve your problem? please accept this answer.