/* Ċ * ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject . Ċ * Ċ * Ġ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 Ċ * Ċ * ĠĠĠĠ Ġhttp :// 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 . example . dog gl ers . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . dog gl ers . R Ċ import Ġcom . example . dog gl ers . const . Layout Ċ import Ġcom . example . dog gl ers . data . DataSource Ċ import Ġcom . example . dog gl ers . model . Dog Ċ Ċ /** Ċ Ġ* ĠAdapter Ġto Ġinf late Ġthe Ġappropriate Ġlist Ġitem Ġlayout Ġand Ġpopulate Ġthe Ġview Ġwith Ġinformation Ċ Ġ* Ġfrom Ġthe Ġappropriate Ġdata Ġsource Ċ Ġ*/ Ċ class ĠDog Card Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġlayout : ĠInt Ċ ): ĠRecyclerView . Adapter < Dog Card Adapter . Dog Card ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdo gs Data : ĠList < Dog > Ġ= ĠDataSource . dog s ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitialize Ġview Ġelements ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠDog Card ViewHolder ( view : ĠView ?): ĠRecyclerView . ViewHolder ( view !! ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdog Image : ĠImageView Ġ= Ġview !!. findViewById ( R . id . dog _ image ) ĊĠĠĠĠĠĠĠ Ġval Ġdog Name Text : ĠTextView Ġ= Ġview !!. findViewById ( R . id . dog _ name ) ĊĠĠĠĠĠĠĠ Ġval Ġdog Age Text : ĠTextView Ġ= Ġview !!. findViewById ( R . id . dog _ age ) ĊĠĠĠĠĠĠĠ Ġval Ġdog H obb ies Text : ĠTextView Ġ= Ġview !!. findViewById ( R . id . dog _ h obb ies ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠDog Card ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġselected Layout Ġ= Ġwhen ( layout ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayout . VERTICAL Ġ-> ĠR . layout . vertical _ horizontal _ list _ item ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayout . HORIZONTAL Ġ-> ĠR . layout . vertical _ horizontal _ list _ item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . layout . grid _ list _ item ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Layout Ġ Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( selected Layout , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠDog Card ViewHolder ( adapter Layout ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdo gs Data . size ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠDog Card ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġdog Data Ġ= Ġdo gs Data [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . dog Image . setImage Resource ( dog Data . image ResourceId ) ĊĊĠĠĠĠĠĠĠ Ġholder . dog Name Text . text Ġ= Ġdog Data . name ĊĊĠĠĠĠĠĠĠ Ġval Ġresources Ġ= Ġcontext ?. resources ĊĊĠĠĠĠĠĠĠ Ġholder . dog Age Text . text Ġ= Ġresources !!. getString ( R . string . dog _ age ). format ( dog Data . age ) ĊĊĠĠĠĠĠĠĠ Ġholder . dog H obb ies Text . text Ġ= Ġresources !!. getString ( R . string . dog _ h obb ies ). format ( dog Data . h obb ies ) ĊĠĠĠ Ġ} Ċ } Ċ