package Ġcom . ric ardo jr so usa . mov ook . presentation . view Hold ers Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . recyclerview . widget . Grid LayoutManager Ċ import Ġcom . ric ardo jr so usa . mov ook . R Ċ import Ġcom . ric ardo jr so usa . mov ook . core . data . Movie Ċ import Ġcom . ric ardo jr so usa . mov ook . presentation . Bind ableView ListAdapter Ċ import Ġkotlinx . android . synt hetic . main . view _ known _ for . view .* Ċ Ċ class ĠKnown For ViewHolder Ġ: ĠBind able ViewHolder < List < Movie >> Ġ{ ĊĠĠĠ Ġoverride Ġlateinit Ġvar ĠitemView : ĠView ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( movies : ĠList < Movie > ?, Ġclick Listener : Ġ(( view : ĠImageView ?, Ġt : ĠList < Movie > ?) Ġ-> ĠUnit )? ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( movies Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmovie ListAdapter Ġ= ĠBind ableView ListAdapter ( Movie Post er ViewHolder ( 1 5 0 , Ġ 1 0 0 )) Ġ{ Ġview , Ġmovie Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener ?. invoke ( view , ĠlistOf ( movie !! )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. also Ġ{ Ġit . add Items ( movies ) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( item View . known _ for _ list ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġmovie ListAdapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠGrid LayoutManager ( item View . context , Ġ 3 , ĠGrid LayoutManager . VERTICAL , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit ( layout Inflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?): ĠBind able ViewHolder < List < Movie >> Ġ{ ĊĠĠĠĠĠĠĠ ĠitemView Ġ= Ġlayout Inflater . inflate ( R . layout . view _ known _ for , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} Ċ }