package Ġcom . android study . movies . ui . adapter Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġco il . api . load Ċ import Ġcom . android study . movies . R Ċ import Ġcom . android study . movies . data . model . Movie Ċ import Ġcom . android study . movies . data . remote . Character Ċ import Ġkotlinx . android . synt hetic . main . row _ movie _ item . view .* Ċ Ċ type alias Ġ ĠClick Listener Ġ= Ġ( Character ) Ġ-> ĠUnit Ċ Ċ class ĠChar acters Adapter ( ĊĠĠĠ Ġprivate Ġvar Ġcharacters List : ĠList < Character >, ĊĠĠĠ Ġprivate Ġval Ġclick Listener : ĠClick Listener Ċ ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Characters Adapter . Characters ViewHolder >() Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠChar acters ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . row _ movie _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠChar acters ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġcharacters List . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠChar acters ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind Character ( characters List [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate List ( character List : ĠList < Character >) Ġ{ ĊĠĠĠĠĠĠĠ Ġcharacters List Ġ= Ġcharacter List ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠChar acters ViewHolder ( item View : ĠView , Ġprivate Ġval Ġclick Listener : ĠClick Listener ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠimageView Character Image : ĠImageView Ġ= ĠitemView . imageView Character Image ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠtextView Character Name : ĠTextView Ġ= ĠitemView . textView Character Name ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠĠĠĠĠ Ġfun Ġbind Character ( character : ĠCharacter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( character ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Character Name . text Ġ= Ġname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageView Character Image . load ( image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener ( character ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }