package Ġcom . example . calendar Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Grid LayoutManager Ċ import Ġcom . github . nit ric o . last adapter . Last Adapter Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . util .* Ċ Ċ class ĠC Data ( var Ġdate : ĠInt ) Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ// ĠìłĦ ì²´ Ġëĭ ¬ ëł¥ Ġëį°ìĿ´íĦ° ê°Ģ Ġëĵ¤ ìĸ´ ê° Ī Ġë¦¬ ìĬ¤íĬ¸ ĊĠĠĠ Ġvar Ġc List Ġ= ĠArrayList < C Data >() ĊĊĠĠĠ Ġ// Ġ ĠìĽ Ķ Ġëĭ¨ ìľĦ ìĿĺ Ġê°ĴìĿĦ Ġê°Ģ ì§Ħ Ġë°° ìĹ´ ĊĠĠĠ Ġvar Ġm Arr Ġ= ĠarrayOf ( Calendar . J AN U ARY , ĠCalendar . FE BR U ARY , ĠCalendar . M ARCH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCalendar . AP R IL , ĠCalendar . MAY , ĠCalendar . J UNE , ĠCalendar . J UL Y , ĠCalendar . AU G UST , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCalendar . SEP TE MBER , ĠCalendar . OCT OB ER , ĠCalendar . NO VE MBER , ĠCalendar . DE CE MBER ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġset Calendar () ĊĊĠĠĠĠĠĠĠ Ġ// ĠĠ 7 ì¹ ¸ ì§ ľ ë¦¬ Ġê·¸ ë¦¬ ëĵľ Ġë¦¬ ìĤ¬ ìĿ´ íģ ´ë Ł ¬ ĊĠĠĠĠĠĠĠ Ġmain Recycler . layout Manager Ġ= ĠGrid LayoutManager ( this , Ġ 7 ) ĊĠĠĠĠĠĠĠ ĠLast Adapter ( c List , ĠBR . item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map < C Data >( R . layout . item _ calendar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( main Recycler ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Calendar () Ġ{ ĊĠĠĠĠĠĠĠ Ġc List . clear () ĊĊĠĠĠĠĠĠĠ Ġ// ĠĠ 2 0 1 7 ëħĦ Ġ 1 2 ìĽĶ Ġ 1 ìĿ¼ ë¡ľ Ġê¸° ì¤Ģ ëĤ ł ì§ ľ ë¥¼ ĠìĦ¸ íĮ ħ ĊĠĠĠĠĠĠĠ Ġvar Ġcal Ġ= ĠCalendar . getInstance () ĊĠĠĠĠĠĠĠ Ġcal . set ( 2 0 1 7 , Ġm Arr [ 1 1 ], Ġ 1 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠĠ 1 2 ìĽĶ Ġ 1 ìĿ¼ ìĿ´ Ġë¬ ´ ìĬ ¨ ĠìļĶ ìĿ¼ ìĿ¸ ì§Ģ Ġë°Ľ ìķĦ ìĺ ¨ ëĭ¤ . ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġcal . get ( Calendar . DAY _ OF _ WEEK ) Ġ- Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġ// Ġ Ġíķ´ëĭ¹ ìļĶ ìĿ¼ ĠìłĦ ê¹Įì§Ģ Ġ 0 ĠìĿ´ë Ŀ¼ ëĬĶ Ġëį°ìĿ´íĦ°ë¥¼ ĠëĦ £ ìĸ´ ì¤Ģ ëĭ¤ . ĊĠĠĠĠĠĠĠ Ġ// ĠĠ 1 2 ìĽĶ Ġ 1 ìĿ¼ ìĿ´ Ġê¸ Ī ìļĶ ìĿ¼ ìĿ´ ë¯ Ģë¡ľ ĠìĿ¼ , ĠìĽ Ķ , ĠíĻ Ķ , ĠìĪĺ , Ġëª© ĠìĿĺ ĠìĪĺ ë§Į íģ ¼ ìĿĺ ĠëįĶ ë¯¸ Ġëį°ìĿ´íĦ° ĊĠĠĠĠĠĠĠ Ġ( 1 .. index ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc List . add ( C Data ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ Ġíķ´ëĭ¹ ĠìĽ Ķ ìĿĺ Ġìµľ ëĮĢ ĠëĤ ł ì§ ľ ìĪĺ ë¥¼ Ġêµ¬ íķľ Ġë Ĵ ¤ Ġê·¸ Ġê°ľ ìĪĺ ë§Į íģ ¼ Ġëį°ìĿ´íĦ° Ġìŀħëł¥ Ġ 1 Ġ~ Ġ 2 8 / 3 0 / 3 1 ĊĠĠĠĠĠĠĠ Ġ( 1 .. cal . get Actual Maximum ( Calendar . DAY _ OF _ MONTH )). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc List . add ( C Data ( it )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ Ġë Ĵ ¤ ìĿĺ Ġë¹ Ī ì¹ ¸ ìĿĦ Ġì± Ħ ìĽĮ ì¤Ģ ëĭ¤ . ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġëĭ ¬ ëł¥ ìĿĺ Ġìµľ ëĮĢ ì¹ĺ ëĬĶ Ġ 6 ì£¼ Ġì ¦ ī Ġ 4 2 ìĿ¼ ìĿ´ëĭ¤ . ĊĠĠĠĠĠĠĠ Ġ( c List . size .. 4 1 ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc List . add ( C Data ( 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ