package Ġcom . example . my github . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Paging Data Adapter Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . resource . drawable . Drawable Transition Options Ċ import Ġcom . example . my github . R Ċ import Ġcom . example . my github . model . User Follow Response Ċ import Ġkotlinx . android . synt hetic . main . item _ followers _ layout . view .* Ċ Ċ class ĠUser Follow Adapter Ġ: ĊĠĠĠ ĠP aging Data Adapter < User Follow Response . User Follow Response Item , ĠUser Follow Adapter . My ViewHolder >( ĊĠĠĠĠĠĠĠ ĠFOL LOW ERS _ COMP AR ATOR ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMy ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Item Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġif Ġ( currentItem Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( holder . item View ). load ( currentItem . avatar _ url ). center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( Drawable Transition Options . with Cross Fade ()). error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ error ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). into ( holder . item View . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . user _ name . text Ġ= Ġcurrent Item . login ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . index . text Ġ= Ġ( position Ġ+ Ġ 1 ). toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMy ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ followers _ layout , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMy ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠMy ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠFOL LOW ERS _ COMP AR ATOR Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠDiff Util . Item Callback < User Follow Response . User Follow Response Item >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠUser Follow Response . User Follow Response Item , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠUser Follow Response . User Follow Response Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ= Ġold Item . login Ġ== Ġnew Item . login ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠUser Follow Response . User Follow Response Item , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠUser Follow Response . User Follow Response Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ= Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }