package Ġcom . example . in mob ili ari agal act ica . adapter ĊĊ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . navigation . Navigation Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġcom . example . in mob ili ari agal act ica . R Ċ import Ġcom . example . in mob ili ari agal act ica . model . Ter re no Ċ Ċ class ĠTer re no ListAdapter : ĠList Adapter < Ter re no , ĠGal actic ViewHolder >( Ter re no Comparator ()) Ġ{ ĊĊĠĠĠ Ġvar Ġter re no A Ġ= ĠTer re no () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠGal actic ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGal actic ViewHolder . create ( parent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠGal actic ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġter re no Ġ= ĠgetItem ( position ) ĊĊĠĠĠĠĠĠĠ Ġholder . un id or Imagen ( ter re no ) ĊĊĠĠĠĠĠĠĠ Ġholder . binding . imageView Gal . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġter re no A . type Ġ= Ġter re no . type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġter re no A . img Src Ġ= Ġter re no . img Src ĊĠĠĠĠĠĠĠĠĠĠĠ Ġter re no A . price Ġ= Ġter re no . price ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNavigation . find Nav Controller ( holder . item View ). navigate ( R . id . action _ home Fragment _ to _ details Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠTer re no Comparator Ġ: ĠDiff Util . Item Callback < Ter re no >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠTer re no , Ġnew Item : ĠTer re no ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠTer re no , Ġnew Item : ĠTer re no ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġold Item . id Ġ== Ġnew Item . id ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ