package Ġcom . sq is land . android . espress o . recycler _ view _ basic Ċ Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠNumber ed Adapter ( count : ĠInt , Ġprivate Ġval Ġlistener : ĠOn ItemClickListener ?) Ġ: ĠRecyclerView . Adapter < TextView Holder >() Ġ{ ĊĠ Ġprivate Ġval Ġlabels : ĠMutable List < String > Ġ= Ġ ĠArrayList < String >( count ). apply Ġ{ ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġcount ) Ġ{ ĊĠĠĠĠĠ Ġadd ( i . toString ()) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠText ViewHolder Ġ{ ĊĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠ Ġandroid . R . layout . simple _ list _ item _ 1 , Ġparent , Ġfalse ) ĊĠĠĠ Ġreturn ĠText ViewHolder ( view ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠText ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġlabel Ġ= Ġlabels [ position ] ĊĠĠĠ Ġholder . textView . text Ġ= Ġlabel ĊĠĠĠ Ġval Ġout Value Ġ= ĠTyped Value () ĊĠĠĠ Ġholder . textView . context . theme . resolve Attribute ( ĊĠĠĠĠĠ Ġandroid . R . attr . selectable Item Background , Ġout Value , Ġtrue ) ĊĠĠĠ Ġholder . textView . setBackground Resource ( out Value . resourceId ) ĊĊĠĠĠ Ġif Ġ( listener Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġholder . textView . setOnClickListener Ġ{ Ġlistener . on Item Click ( position ) Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġlabels . size ĊĠ Ġ} ĊĊĠ Ġinterface ĠOn ItemClickListener Ġ{ ĊĠĠĠ Ġfun Ġon Item Click ( position : ĠInt ) ĊĠ Ġ} Ċ }