package Ġcom . yo lo . yo lo _ android . ui . my page . book _ mark Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . yo lo . yo lo _ android . databinding . Item Book Mark Binding Ċ import Ġcom . yo lo . yo lo _ android . db . entity . My Book Mark Ċ Ċ class ĠBook Mark Adapter ( ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠBook Mark ViewModel Ċ ): ĠList Adapter < My Book Mark , ĠBook Mark ViewHolder >( DIFF _ CALLBACK ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBook Mark ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBook Mark ViewHolder . from ( parent , ĠviewModel ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠBook Mark ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetItem ( position )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠDIFF _ CALLBACK : ĠDiff Util . Item Callback < My Book Mark > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠDiff Util . Item Callback < My Book Mark >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠMy Book Mark , Ġnew Item : ĠMy Book Mark ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . id Ġ== Ġnew Item . id ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠMy Book Mark , Ġnew Item : ĠMy Book Mark ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠBook Mark ViewHolder ( ĊĠĠĠ Ġprivate Ġval Ġbinding : ĠItem Book Mark Binding , ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠBook Mark ViewModel Ċ ): ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġbind ( data : ĠMy Book Mark ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . data Ġ= Ġdata ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( parent : ĠViewGroup , ĠviewModel : ĠBook Mark ViewModel ): ĠBook Mark ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠItem Book Mark Binding . inflate ( layout Inflater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBook Mark ViewHolder ( binding , ĠviewModel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }