package Ġcom . bee ete 2 . android . e po xy example . ui . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . widget . Compound Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . widget . Switch Compat Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . air bnb . e po xy .* Ċ import Ġcom . bee ete 2 . android . e po xy example . R Ċ import Ġcom . bee ete 2 . android . e po xy example . ui . switch er . Switch er Fragment Ċ Ċ @ Model View ( auto Layout Ġ= ĠModel View . Size . MATCH _ WIDTH _ WRAP _ HEIGHT ) Ċ class ĠAdd Switch Value Item Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠConstraint Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ label Ġby Ġlazy Ġ{ ĠfindViewById < TextView >( R . id . switch _ label ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġ_ switch Ġby Ġlazy Ġ{ ĠfindViewById < Switch Compat >( R . id . switch er ) Ġ} ĊĊĠĠĠ Ġ@ set : Text Prop ĊĠĠĠ Ġvar Ġlabel : ĠCharSequence ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ set : Model Prop ĊĠĠĠ Ġvar Ġchecked : ĠSwitch er Fragment . Switch Value ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ set : Callback Prop ĊĠĠĠ Ġvar Ġchecked ChangeListener : ĠCompound Button . On Checked ChangeListener ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinf late ( context , ĠR . layout . add _ switch _ item , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After Props Set ĊĠĠĠ Ġfun Ġpost Bind Setup () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ label . text Ġ= Ġlabel ĊĠĠĠĠĠĠĠ Ġ_ switch . isChecked Ġ= Ġchecked ?. checked Ġ?: Ġfalse ĊĠĠĠĠĠĠĠ Ġ_ switch . setOn Checked ChangeListener ( checked ChangeListener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ On View Re cyc led ĊĠĠĠ Ġfun Ġon View Re cyc led () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ switch . setOn Checked ChangeListener ( null ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ