package Ġcom . example . note app . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . card view . widget . Card View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . note app . R Ċ import Ġcom . example . note app . database . model . Notes Ċ import Ġcom . example . note app . extensions . convert Date To Format Ċ import Ġcom . example . note app . extensions . g one Ċ import Ġcom . example . note app . extensions . visible Ċ import Ġcom . example . note app . utils . load Ċ Ċ /** Ċ Ġ* ĠThe ĠNotes Adapter . kt Ġto Ġpopulate Ġthe Ġre cycler view Ċ Ġ* Ġ@ author ĠMal ik ĠD aw ar , Ġmal ik d aw ar @ hotmail . com Ċ Ġ*/ Ċ class ĠNotes Adapter ( ĊĠĠĠ Ġprivate Ġval Ġnote ItemClickListener : ĠNote ItemClickListener , ĊĠĠĠ Ġprivate Ġval Ġnotes List : ĠList < Notes > Ċ ) Ġ: ĠRecyclerView . Adapter < Notes Adapter . My ViewHolder >() Ġ{ ĊĊĠĠĠ Ġinner Ġclass ĠMy ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// creating Ġviews ĊĠĠĠĠĠĠĠ Ġvar Ġmain Layout Ġ= Ġview . findViewById ( R . id . main Layout ) Ġas ĠCard View ĊĠĠĠĠĠĠĠ Ġvar Ġimg View Ġ= Ġview . findViewById ( R . id . img View ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ Ġvar Ġtv Title Ġ= Ġview . findViewById ( R . id . tv Title ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġvar Ġtv Details Ġ= Ġview . findViewById ( R . id . tv Details ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġvar Ġtv Date Ġ= Ġview . findViewById ( R . id . tv Date ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġvar Ġtv Updated Tag Ġ= Ġview . findViewById ( R . id . tv Updated Tag ) Ġas ĠTextView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMy ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġ// return ing Ġthe ĠView ĠH older ĊĠĠĠĠĠĠĠ Ġreturn ĠMy ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ notes _ ui , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnotes List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMy ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// pop ulating Ġthe Ġdata Ġfrom Ġlist Ġto Ġview ĊĠĠĠĠĠĠĠ Ġval Ġnote Ġ= Ġnotes List [ position ] ĊĠĠĠĠĠĠĠ Ġnote . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Title . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Details . text Ġ= Ġdescription ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . img View . load ( image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Date . text Ġ= Ġdate ?. convert Date To Format () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Updated ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Updated Tag . visible () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Updated Tag . g one () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// att aching Ġthe Ġon CL ick Ġto Ġthe Ġlayout ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . main Layout . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote ItemClickListener . on ItemClickListener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// interface Ġto Ġget Ġthe Ġcallback ĊĠĠĠ Ġinterface ĠNote ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon ItemClickListener ( note : ĠNotes ) ĊĠĠĠ Ġ} Ċ }