package Ġcom . example . my che e sec akes . ui . flash cards Ċ Ċ 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 . my che e sec akes . R Ċ import Ġcom . example . my che e sec akes . databinding . Flash cards ListItem Binding Ċ import Ġcom . example . my che e sec akes . domain . model . menu items . MenuItem Ċ Ċ const Ġval ĠTAG Ġ= Ġ" Flash cards Adapter " ĊĊ Ċ class ĠFlash cards Recycler Adapter ( ĊĠĠĠ Ġprivate Ġval Ġmenu Items : ĠList < MenuItem >, ĊĠĠĠ Ġprivate Ġval Ġclick Listener : ĠAdapter ClickListener ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . Adapter < Flash cards Recycler Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFlash cards ListItem Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFlash cards ListItem Binding . inflate ( LayoutInflater . from ( parent . context ), parent , false ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( binding , Ġclick Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( menu Items [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġmenu Items . size ĊĊĊĠĠĠ Ġclass ĠViewHolder ( private Ġval Ġbinding : ĠFlash cards ListItem Binding , Ġprivate Ġval Ġclick Listener : ĠAdapter ClickListener ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ), ĠView . OnClickListener { ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġmenu Item : ĠMenuItem ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( menuItem : ĠMenuItem ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . menuItem Ġ= Ġmenu Item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠitemView . context ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . flash card List item Text view . text Ġ= Ġmenu Item . name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( menuItem . image URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . fresh _ str aw berry _ che e sec ake ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( binding . card Che e sec ake Image view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener . on RecyclerView Item Clicked ( menuItem ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠAdapter ClickListener { ĊĠĠĠ Ġfun Ġon RecyclerView Item Clicked ( menuItem : ĠMenuItem ) Ċ }