package Ġcom . j ia ha oli ul iu . movies list instant Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . j ia ha oli ul iu . datal ayer . Movie Ċ import Ġcom . j ia ha oli ul iu . movies list instant . databinding . Item Movie Binding Ċ Ċ class ĠMov ies ListAdapter ( private Ġval Ġmovies List : ĠList < Movie >, Ġprivate Ġval Ġon Movie ClickListener : ĠOn Movie ClickListener ): ĠRecyclerView . Adapter < Movie ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMovie ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMovie ViewHolder ( Item Movie Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġmovies List . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMovie ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmovie Ġ= Ġmovies List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener { Ġon Movie ClickListener . on Movie Clicked ( movie . id )} ĊĠĠĠĠĠĠĠ Ġholder . bind ( movie ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠMovie ViewHolder ( private Ġval Ġmovie Item Binding : ĠItem Movie Binding ) Ġ: ĠRecyclerView . ViewHolder ( movie Item Binding . root ) Ġ{ ĊĊĠĠĠ Ġfun Ġbind ( movie : ĠMovie ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmovie Item Binding . movie Ġ= Ġmovie ĊĠĠĠĠĠĠĠ Ġmovie Item Binding . execute Pending Bindings () ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠOn Movie ClickListener Ġ{ ĊĊĠĠĠ Ġfun Ġon Movie Clicked ( id : ĠInt ) Ċ }