package Ġcom . k rm . sh ine button Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . Base Adapter Ċ import Ġandroid . widget . ListView Ċ import Ġandroid . widget . TextView Ċ import Ġjava . util .* Ċ Ċ class ĠList Demo Activity Ġ: ĠActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠlistView : ĠListView ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ list _ demo ) ĊĠĠĠĠĠĠĠ ĠlistView Ġ= ĠfindViewById ( R . id . list ) ĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= ĠList Adapter () ĊĠĠĠĠĠĠĠ Ġwindow . set Flags ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ LAYOUT _ NO _ LIMIT S , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ LAYOUT _ NO _ LIMIT S ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġdata List : ĠMutable List < Data > Ġ= ĊĠĠĠĠĠĠĠ ĠArrayList () ĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠList Adapter Ġ: ĠBase Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdata List . size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( i : ĠInt ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdata List [ i ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Id ( i : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" Inf late Params ", Ġ" SetText I 1 8 n ") ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget View ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Group : ĠViewGroup ĊĠĠĠĠĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbutton : ĠSh ine Button Ġ= Ġview . findViewById ( R . id . po _ image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠtextView Ġ= Ġview . findViewById < TextView >( R . id . text _ item _ id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġ" Sh ine Button ĠPosition Ġ$ i " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . setChecked ( data List [ i ]. checked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . setOn Check State ChangeListener Ġ{ Ġ_: ĠView ?, Ġchecked : ĠBoolean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata List [ i ]. checked Ġ= Ġchecked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 1 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata List . add ( Data ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠData Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġchecked Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ }