package Ġcom . j dc . products . adapters . list Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . navigation . find Nav Controller Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . j dc . products . R Ċ import Ġcom . j dc . products . databinding . Item Category Binding Ċ import Ġcom . j dc . products . model . db . entity . Category Ċ import Ġkotlinx . android . synt hetic . main . item _ category . view .* Ċ Ċ class ĠCategory Adapter : ListAdapter < Category , ĠCategory Adapter . Category VH >( object Ġ: ĠDiff Util . Item Callback < Category >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠCategory , Ġnew Item : ĠCategory ) Ġ= Ġold Item . name Ġ== Ġnew Item . name ĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠCategory , Ġnew Item : ĠCategory ) Ġ= Ġold Item Ġ== Ġnew Item Ċ }) Ġ{ ĊĊĠĠĠ Ġclass ĠCategory VH ( val Ġbinding : ĠItem Category Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ) Ġ= ĠCategory VH ( ĊĠĠĠĠĠĠĠ ĠItem Category Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCategory VH , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcategory Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġholder . binding . category Ġ= Ġcategory ĊĊĠĠĠĠĠĠĠ Ġholder . item View . edit Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . find Nav Controller (). navigate ( R . id . action _ categories _ to _ category Edit , ĠBundle (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Ġ-> Ġb . putString (" name ", Ġcategory . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . item View . icon . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . find Nav Controller (). navigate ( R . id . action _ categories _ to _ products , ĠBundle (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb Ġ-> Ġb . putString (" category ", Ġcategory . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }