package Ġcom . al ok . d ail yn ews . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . card view . widget . Card View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . al ok . d ail yn ews . databinding . Item News Category Binding Ċ import Ġcom . al ok . d ail yn ews . interfaces . On Custom ClickListener Ċ import Ġcom . al ok . d ail yn ews . models . News Category Item Ċ Ċ class ĠNews Category Adapter ( var Ġnews Category List Ġ: ĠArrayList < News Category Item >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġon Custom ClickListener : ĠOn Custom ClickListener < News Category Item >): ĠRecyclerView . Adapter < News Category Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ: ĠItem News Category Binding Ġ= ĠItem News Category Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnews Category List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnews Category Item Ġ= Ġnews Category List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . category Tv . text Ġ= Ġnews Category Item . news Category Name ĊĠĠĠĠĠĠĠ Ġholder . category Iv . setImage Resource ( news Category Item . news Category Image ) ĊĠĠĠĠĠĠĠ Ġif Ġ( news Category Item . isSelected ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . category S lect ed Iv . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . category S lect ed Iv . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . category Cv . setOnClickListener (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnews Category Item . isSelected Ġ= Ġ! news Category Item . isSelected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Custom ClickListener . onClick ( news Category Item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( binding : ĠItem News Category Binding ): ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcategory Tv : ĠTextView Ġ= Ġbinding . news Category Tv ĊĠĠĠĠĠĠĠ Ġval Ġcategory S lect ed Iv : ĠImageView Ġ= Ġbinding . news Selected Iv ĊĠĠĠĠĠĠĠ Ġval Ġcategory Iv : ĠImageView Ġ= Ġbinding . news Category Iv ĊĠĠĠĠĠĠĠ Ġval Ġcategory Cv : ĠCard View Ġ= Ġbinding . category Cv ĊĠĠĠ Ġ} Ċ }