package Ġcom . ma i . nix . ma i app . choose _ groups Ċ Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ma i . nix . ma i app . R Ċ Ċ class ĠItems Adapter : ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġval Ġitems Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġvar Ġcallback : ĠOn ItemClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġinterface ĠOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġitem Clicked ( position : ĠInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( p 0 : ĠViewGroup , Ġp 1 : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( p 0 . context ). inflate ( R . layout . view _ group _ choose _ preference _ item , Ġp 0 , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠItems ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( p 0 : ĠRecyclerView . ViewHolder , Ġp 1 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( p 0 Ġas ĠItems ViewHolder ). bind Item ( items [ p 1 ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġitems . size ĊĊĠĠĠ Ġinner Ġclass ĠItems ViewHolder ( item View : ĠView ): ĠRecyclerView . ViewHolder ( item View ), ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind Item ( item : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( item View Ġas ĠTextView ). text Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( adapter Position Ġ>= Ġ 0 ) Ġcallback ?. item Clicked ( adapter Position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }