package Ġcl . du oc . ej emp lor oom . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcl . du oc . ej emp lor oom . R Ċ import Ġcl . du oc . ej emp lor oom . databinding . Item Layout Binding Ċ import Ġcl . du oc . ej emp lor oom . model . Mensaje Ċ Ċ class ĠM ensaje Adapter () Ġ: ĠRecyclerView . Adapter < Mensaje Adapter . Mensaje Holder >() Ġ{ ĊĊĠĠĠ Ġvar Ġlista : List < Mensaje > Ġ= ĠArrayList () ĊĠĠĠ Ġlateinit Ġvar Ġlistener : On ItemClickListener ĊĊĊĠĠĠ Ġclass ĠM ensaje Holder ( val Ġview : ĠView , Ġvar Ġlistener : ĠOn ItemClickListener ): ĠRecyclerView . ViewHolder ( view ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind Data ( mensaje : Mensaje ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠItem Layout Binding . bind ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlbl Mensaje . text Ġ= Ġm ensaje . contenido ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Mensaje Click ( mensaje ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠM ensaje Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv : View Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ layout , parent , false ) ĊĠĠĠĠĠĠĠ Ġreturn ĠM ensaje Holder ( v , listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlista . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠM ensaje Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind Data ( lista [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Mensaje ( mens ajes : List < Mensaje >) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġlista Ġ= Ġmens ajes ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn ItemClickListener { ĊĠĠĠĠĠĠĠ Ġfun Ġon Mensaje Click ( mensaje : ĠM ensaje ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On ItemClickListener ( listener : ĠOn ItemClickListener ) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ĊĠĠĠ Ġ} Ċ Ċ }