package Ġcom . md my . v 3 . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . md my . v 3 . R Ċ import Ġcom . md my . v 3 . view holder . Place Result ViewHolder Ċ Ċ class ĠPlace Result Adapter ( private Ġval Ġresult ClickListener : ĠResult ClickListener ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Place Result ViewHolder >() Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm Result List Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠ Ġinterface ĠResult ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġresult Clicked ( result : ĠString ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Result ( result List : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsynchronized ( m Result List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Result List . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Result List . addAll ( result List ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPlace Result ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPlace Result ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . map _ rv _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Result List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPlace Result ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( holder Ġas ? ĠPlace Result ViewHolder )?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġm Result List [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult ClickListener . result Clicked ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ