package Ġcom . example . ar ist ot le . MainActivity . Adapters Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . Item Touch Helper Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . ar ist ot le . Models . User Ċ import Ġcom . example . ar ist ot le . R Ċ Ċ class ĠUsers RecyclerView Adapter ( private Ġvar Ġusers Data : ĠMutable List < User >) Ġ: ĠRecyclerView . Adapter < Users RecyclerView Adapter . User ViewHolder >() Ġ{ ĊĊĠĠĠ Ġclass ĠUser ViewHolder ( item View : ĠView ) Ġ: RecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠTextView Ġ= ĠitemView . findViewById ( R . id . User ItemName ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCreate Ġnew Ġviews Ġ( inv oked Ġby Ġthe Ġlayout Ġmanager ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠUser ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUser ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . recyclerview item _ user , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠUser ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠfullName Ġ= Ġusers Data [ position ]. firstName Ġ+ Ġ" Ġ" Ġ+ Ġusers Data [ position ]. lastName ĊĊĠĠĠĠĠĠĠ Ġholder . name . text Ġ= ĠfullName ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġusers Data . size ĊĊĠĠĠ Ġfun Ġupdate List ( new UserList : ĠMutable List < User >) Ġ{ ĊĠĠĠĠĠĠĠ Ġusers Data Ġ= Ġnew UserList ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMaybe Ġnot Ġuse ĊĠĠĠ Ġfun Ġremove At ( position : ĠInt ) Ġ: ĠUser { ĊĠĠĠĠĠĠĠ Ġval Ġremove User Ġ= Ġusers Data [ position ] ĊĠĠĠĠĠĠĠ Ġusers Data . remove At ( position ) ĊĠĠĠĠĠĠĠ Ġnotify Item Removed ( position ) ĊĠĠĠĠĠĠĠ Ġreturn Ġremove User ĊĠĠĠ Ġ} Ċ Ċ }