package Ġam . widget . wrap layout Ċ Ċ import Ġandroid . content . Clip Data Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroidx . annotation . Requires Api Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġle i . j ial in Ġon Ġ 2 0 2 1 / 7 / 5 Ċ Ġ*/ Ċ class ĠText Choice Switch Button Ġ: ĠFrame Layout Ġ{ ĊĠĠĠ Ġvar Ġdata List = Ġmutable ListOf < Text Choice Switch Button . Item > Ġ() ĊĠĠĠ Ġprivate Ġvar Ġm Root : ĠView ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Root Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . layout _ number _ choice _ group , Ġthis , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġrefresh UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset ItemList ( list : ĠList < Text Choice Switch Button . Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata List . clear () ĊĠĠĠĠĠĠĠ Ġdata List . addAll ( list ) ĊĠĠĠĠĠĠĠ Ġrefresh UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Root Ġ?: Ġreturn ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠItem ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtitle : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Selected : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠonClick : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġ) Ċ } Ċ