package Ġcom . oz an top uz . dic et ask . ui . main Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . oz an top uz . dic et ask . databinding . Item Artist Binding Ċ import Ġcom . oz an top uz . dic et ask . ui . entity . Artist View Item Ċ Ċ class ĠArtist Adapter ( ĊĠĠĠ Ġprivate Ġvar Ġlist : ĠArrayList < Artist View Item > Ġ= Ġarray ListOf (), ĊĠĠĠ Ġprivate Ġvar Ġblock : Ġ( Artist View Item ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < Artist Adapter . Artist ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠArtist ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Binding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Artist Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠArtist ViewHolder ( item Binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠArtist ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem : ĠArtist View Item Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠ Ġwith ( holder . binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Name . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Score . text Ġ= Ġitem . score ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ Ġblock . invoke ( item ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġlist . size ĊĊĠĠĠ Ġ@ Suppress Lint (" Notify DataSet Changed ") ĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Notify DataSet Changed ") ĊĠĠĠ Ġfun Ġadd List ( list : ĠList < Artist View Item >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( list Ġ!= Ġnull ) Ġthis . list . addAll ( list ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Notify DataSet Changed ") ĊĠĠĠ Ġfun Ġset List ( list : ĠList < Artist View Item >? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( list Ġ!= Ġnull ) Ġthis . list Ġ= ĠArrayList ( list ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠArtist ViewHolder ( val Ġbinding : ĠItem Artist Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ċ }