package Ġdev . android blog . mys ample s . list Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġdev . android blog . mys ample s . data . model . Photo Ċ import Ġdev . android blog . mys ample s . databinding . ListItem Photo Binding Ċ Ċ class ĠPhoto ListAdapter Ġ: ĠRecyclerView . Adapter < Photo ListAdapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġvar Ġphoto List : ĠArrayList < Photo > Ġ= Ġarray ListOf () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( ListItem Photo Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . binding ( photo List [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġphoto List . size ĊĊĠĠĠ Ġclass ĠViewHolder ( private Ġval Ġbinding : ĠListItem Photo Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbinding ( photo : ĠPhoto ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . photo Ġ= Ġphoto ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }