package Ġcom . example . news app . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . example . news app . R Ċ import Ġcom . example . news app . model . News Media Model Ċ import Ġkotlinx . android . synt hetic . main . layout _ news _ list . view .* Ċ Ċ class ĠNews Adapter ( private Ġval Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġnews List : ArrayList < News Media Model . Root >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġclick Listener :( News Media Model . Root )-> ĠUnit ): ĠRecyclerView . Adapter < News Adapter . Custom ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnews List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnews List [ position ]. id !!. to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCustom ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage View Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . layout _ news _ list , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCustom ViewHolder ( message View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCustom ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( news List [ position ], Ġclick Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠCustom ViewHolder ( val Ġview : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( news Item : ĠNews Media Model . Root , Ġclick Listener : Ġ( News Media Model . Root ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . post _ title . text ĠĠĠ Ġ= ĠĠ Ġnews Item . post Title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . post _ author . text ĠĠ Ġ= ĠĠ Ġnews Item . post Author ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . post _ type . text ĠĠĠĠ Ġ= ĠĠ Ġnews Item . post Type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . post _ date . text ĠĠĠĠ Ġ= ĠĠ Ġnews Item . post Date ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// there Ġare Ġmultiple Ġimages Ġso Ġgetting Ġfirst Ġimage Ġonly ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( context ). load ( news Item . post Media ?. get ( 0 )?. post Images ?. get ( 0 )?. imageUrl ). into ( view . post _ image ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ Ġclick Listener ( news Item ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }