package Ġcom . gar min . g arm ink apt ain . ui Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . gar min . g arm ink apt ain . data . Review Ċ import Ġcom . gar min . g arm ink apt ain . databinding . Review ListItem Binding Ċ Ċ class ĠReview ListAdapter ( private Ġval Ġreviews : ĠList < Review >) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Review ListAdapter . Review ListItem ViewHolder >() Ġ{ ĊĠĠĠ Ġclass ĠReview ListItem ViewHolder ( private Ġvar Ġbinding : ĠReview ListItem Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( review : ĠReview ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . review Ġ= Ġreview ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġfrom ( parent : ĠViewGroup ): ĠReview ListItem ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠReview ListItem Binding . inflate ( layout Inflater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠReview ListItem ViewHolder ( binding ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġreviews . size ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠReview ListItem ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠReview ListItem ViewHolder . from ( parent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠReview ListItem ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreviews . get OrNull ( position )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }