package Ġcom . test . a 1 con sm ost est . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . test . a 1 con sm ost est . R Ċ import Ġcom . test . a 1 con sm ost est . databinding . Recycler Item Binding Ċ import Ġcom . test . a 1 con sm ost est . model . Data Ċ Ċ class ĠMy RecyclerView Adapter ( var Ġcontext : ĠContext , Ġvar Ġlist : ĠArrayList < Data >) Ġ: ĠRecyclerView . Adapter < My RecyclerView Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġ// ĠIn fl ating ĠLayout Ġand ĠViewHolder ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding : ĠRe cycler Item Binding Ġ= ĠData Binding Util . inflate ( LayoutInflater . from ( context ), ĠR . layout . recycler _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġupdate ItemList ( Ġnew list : ĠArrayList < Data >) ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . addAll ( new list ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġlist . size ĊĊĠĠĠ Ġ// ĠBind Ġdata ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( list . get ( position )) ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( list . get ( position ). avatar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . binding . av ator ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCreating ĠViewHolder ĊĠĠĠ Ġclass ĠViewHolder ( val Ġbinding : ĠRe cycler Item Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( data : ĠData ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . user = data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }