package Ġwork . cal mat o . pre stop ay . util Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġwork . cal mat o . pre stop ay . databinding . ListItem Country Binding Ċ import Ġwork . cal mat o . pre stop ay . network . National Flag Ċ Ċ class ĠAdapter Currency ( private Ġval ĠonClick Listener : ĠOn ClickListener ): RecyclerView . Adapter < Adapter Currency . Currency ViewHolder >() Ġ{ ĊĠ Ġvar Ġcountry List : List < National Flag > Ġ= Ġempty List () ĊĠĠĠ Ġset ( value ){ ĊĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġcountry List . size ĊĊĠ Ġclass ĠCurrency ViewHolder ( val Ġbinding : ListItem Country Binding ) ĊĠĠĠ Ġ: RecyclerView . ViewHolder ( binding . root ){ ĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠ Ġfun Ġfrom ( parent : ViewGroup ): ĠCurrency ViewHolder { ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠListItem Country Binding . inflate ( layout Inflater , parent , false ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCurrency ViewHolder ( ĊĠĠĠĠĠĠĠĠĠ Ġbinding ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġclass ĠOn ClickListener ( val Ġclick Listener : Ġ( national Flag : National Flag ) Ġ-> ĠUnit ){ ĊĠĠĠ Ġfun ĠonClick ( national Flag : ĠNational Flag ) Ġ= Ġclick Listener ( national Flag ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCurrency ViewHolder Ġ{ ĊĠĠĠ Ġreturn ĠCurrency ViewHolder . from ( ĊĠĠĠĠĠ Ġparent ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCurrency ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġholder . binding . also Ġ{ ĊĠĠĠĠĠ Ġit . national Flag Ġ= Ġcountry List [ position ] ĊĠĠĠ Ġ} ĊĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠ ĠonClick Listener . onClick ( country List [ position ]) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ