package Ġnet . j uz abel . y og aso lo test . feature . post ure list Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġco il . load Ċ import Ġkotlinx . android . synt hetic . main . item _ post ure . view .* Ċ import Ġnet . j uz abel . domain . feature . post ure list . model . Posture Ċ import Ġnet . j uz abel . y og aso lo test . R Ċ Ċ class ĠPost ure ListAdapter ( ĊĠĠĠ Ġvar Ġlist : ĠList < Posture > Ġ= Ġempty List (), ĊĠĠĠ Ġvar Ġlistener : Ġ(( id : ĠString ) Ġ-> ĠUnit )? Ġ= Ġnull Ċ ) Ġ: ĠRecyclerView . Adapter < Posture ListAdapter . Posture ListView Holder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPost ure ListView Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ post ure , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPost ure ListView Holder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġlist . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPost ure ListView Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( list [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠPost ure ListView Holder ( private Ġval Ġv : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( v ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( post ure : ĠPost ure ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . item Posture Image . load ( post ure . picture ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmemory CacheKey ( post ure . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross fade ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder ( R . color . color Accent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . item Posture Name . text Ġ= Ġpost ure . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . item Posture Description . text Ġ= Ġpost ure . description ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. invoke ( post ure . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }