package Ġcom . android . breaking bad . presentation . adapters ĊĊ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . CheckBox Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . android . breaking bad . R Ċ import Ġcom . jak ew h art on . r xb ind ing 4 . widget . checked Changes Ċ Ċ class ĠCheckBox Adapter ( ĊĠĠĠ Ġval Ġadapter OnClick : Ġ( Click Actions ) Ġ-> ĠUnit Ċ ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < CheckBox Adapter . CheckBox ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġdata Ġ= Ġmutable ListOf < Int >() ĊĠĠĠ Ġfun Ġupdate Data ( new Data : ĠMutable List < Int >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . clear () ĊĠĠĠĠĠĠĠ Ġdata . addAll ( new Data ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠCheckBox ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠcheckBox Ġ= ĠitemView . findViewById < CheckBox >( R . id . checkBox _ select ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcheckBox . text Ġ= Ġ" Season Ġ$ position " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠcheckBox . checked Changes (). subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter OnClick . invoke ( Click Actions . Checkbox Click Action ( position )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCheckBox ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . checkbox holder , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCheckBox ViewHolder ( item View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCheckBox ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( data [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġdata . size Ċ Ċ } Ċ