// /* Ċ //* ĠCopyright Ġ 2 0 2 1 ĠW aj ah at ĠKar im Ġ( https :// w aj ah at kar im . com ) Ċ //* Ċ //* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ //* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ //* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ //* Ċ //* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ //* Ċ //* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ //* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ //* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ //* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ //* Ġlimitations Ġunder Ġthe ĠLicense . Ċ // */ Ċ package Ġcom . program mer 2 7 0 4 . unsplash . ui Ċ // Ċ // import Ġandroid . view . LayoutInflater Ċ // import Ġandroid . view . ViewGroup Ċ // import Ġandroidx . recyclerview . widget . RecyclerView Ċ // import Ġco il . load Ċ // import Ġcom . program mer 2 7 0 4 . imag ine . R Ċ // import Ġcom . program mer 2 7 0 4 . imag ine . databinding . Photo Item Layout Binding Ċ // import Ġcom . program mer 2 7 0 4 . imag ine . model . Photo Model Ċ // Ċ // class ĠPh otos Adapter _( val Ġon Photo Selected : Ġ( photo : ĠPhoto Model , Ġposition : ĠInt ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . Adapter < Photos Adapter _. Photo ViewHolder >() Ġ{ Ċ // Ċ // ĠĠĠ Ġprivate Ġval Ġitems : ĠArrayList < Photo Model > Ġ= Ġarray ListOf () Ċ // Ċ // ĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPhoto ViewHolder Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġvar Ġbinding Ġ= ĠPhoto Item Layout Binding . inflate ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġparent , Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġfalse Ċ // ĠĠĠĠĠĠĠ Ġ) Ċ // ĠĠĠĠĠĠĠ Ġreturn ĠPhoto ViewHolder ( binding ) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPhoto ViewHolder , Ġposition : ĠInt ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġholder . bind ( items [ position ], Ġposition ) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġitems . size Ċ // Ċ // ĠĠĠ Ġfun Ġupdate Items ( photos List : ĠList < Photo Model >) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġitems . clear () Ċ // ĠĠĠĠĠĠĠ Ġitems . addAll ( photos List ) Ċ // ĠĠĠĠĠĠĠ Ġnotify DataSet Changed () Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġinner Ġclass ĠPhoto ViewHolder ( val Ġitem Binding : ĠPhoto Item Layout Binding ) Ċ // ĠĠĠĠĠĠĠ Ġ: ĠRecyclerView . ViewHolder ( item Binding . root ) Ġ{ Ċ // Ċ // ĠĠĠĠĠĠĠ Ġfun Ġbind ( photo Model : ĠPhoto Model , Ġposition : ĠInt ) Ġ{ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . TV Name . text Ġ= Ġphoto Model . user . name Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . TV Desk ripsi . text Ġ= Ġphoto Model . description Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . img Photo . load ( photo Model . urls . thumb ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder ( R . color . color _ box _ background ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross fade ( true ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . card Photo . setOnClickListener Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Photo Selected ( photo Model , Ġposition ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ/* item Binding . apply Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimg Photo . load ( photo Model . urls . thumb ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder ( R . color . color _ box _ background ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross fade ( true ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard Photo . setOnClickListener Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Photo Selected ( photo Model , Ġposition ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ}*/ Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ //} Ċ