package Ġcom . rss client . rss feed . view Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . alex ey gl ush kov . ext . get LayoutInflater Ċ import Ġcom . rss client . controllers . databinding . Feed Cell Binding Ċ import Ġcom . rss client . R ss View Item Ċ Ċ class ĠR ss Feed s Adapter ( private Ġval Ġfeed Binder : ĠR ss Feed Binder ) ĊĠĠĠ Ġ: ĠList Adapter < R ss View Item <* >, ĠRecyclerView . ViewHolder >( R ss View Item . Diff Callback ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetItem ( position ). type ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR ss View Item . R ss Feed View Item . Type Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠFeed Cell Binding . inflate ( parent . get LayoutInflater (), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR ss Feed ViewHolder ( binding ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Feed s Adapter . onCreate ViewHolder : Ġview Type Ġis Ġ$ view Type ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġdata Ġ= ĠgetItem ( position )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠR ss View Item . R ss Feed View Item Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder Ġas ĠR ss Feed ViewHolder ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfeed Ġ= Ġdata . first Item () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfeed Binder . bind ( feed , Ġholder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Re cyc led ( holder : ĠRecyclerView . ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Re cyc led ( holder ) ĊĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠR ss Feed ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfeed Binder . clear ( holder ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠR ss Feed ViewHolder ( binding : ĠFeed Cell Binding ): ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġbinding . name ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġbinding . icon ĊĠĠĠ Ġ} Ċ }