package Ġcom . hy un h . cert y . ts 3 1 1 2 4 čĊč Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . ViewGroup č Ċ import Ġandroidx . appcompat . widget . AppCompat CheckBox č Ċ import Ġandroidx . appcompat . widget . AppCompat TextView č Ċ import Ġandroidx . fragment . app . Fragment č Ċ import Ġandroidx . recyclerview . widget . RecyclerView č Ċ import Ġcom . hy un h . cert y . R č Ċ import Ġkotlinx . android . synt hetic . main . fragment _ spec .* čĊč Ċ class ĠOption Fragment Ġ: ĠFragment () Ġ{ čĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, čĊĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? čĊĠĠĠ Ġ): ĠView ? Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ spec , Ġcontainer , Ġfalse ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) čĊĠĠĠĠĠĠĠ Ġ/* čĊĠĠĠĠĠĠĠ Ġre cycler view . set Has Fixed Size ( true ) čĊĠĠĠĠĠĠĠ Ġre cycler view . adapter Ġ= ĠOption Rv Adapter ( Us at . specs [ Us at . current ] !!. options ) čĊčĊĠĠĠĠĠĠĠĠ Ġ*/ čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġclass ĠOption Rv Adapter ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġoptions : ĠList < Us at . Option > čĊĠĠĠ Ġ) Ġ: ĠRecyclerView . Adapter < Option Rv Adapter . ViewHolder >() Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġselected Ġ= ĠMutable List ( options . size ) Ġ{ Ġfalse Ġ} čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . layout _ us at _ option , Ġparent , Ġfalse ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġoptions . size čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . view . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected [ position ] Ġ= Ġ! selected [ position ] čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( position ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . checkbox . isChecked Ġ= Ġselected [ position ] čĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . id . text Ġ= Ġoptions [ position ]. id čĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . title . text Ġ= Ġoptions [ position ]. title čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġclass ĠViewHolder ( val Ġview : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcheckbox : ĠAppCompat CheckBox Ġ= Ġview . findViewById ( R . id . checkbox _ option ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid : ĠAppCompat TextView Ġ= Ġview . findViewById ( R . id . tv _ option _ id ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle : ĠAppCompat TextView Ġ= Ġview . findViewById ( R . id . tv _ option _ title ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }