package Ġcom . bar zing a . view Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Adapter View Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . ListView Ċ import Ġcom . bar zing a . R Ċ import Ġcom . bar zing a . model . Item Ċ import Ġjava . text . Field Position Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġdie go . san tos Ġon Ġ 1 8 / 1 0 / 1 7 . Ċ Ġ*/ Ċ class ĠItems List Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġadapter Items : ĠArray Adapter < Item >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlv Items : ĠListView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġlistener : ĠOn ItemSelected Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġinterface ĠOn ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon ItemSelected ( i : ĠItem ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( activity : ĠActivity ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( activity ) ĊĠĠĠĠĠĠĠ Ġif Ġ( activity Ġis ĠOn ItemSelected Listener ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener Ġ= Ġactivity ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠClass CastException ( activity !!. toString () Ġ+ Ġ" Ġmust Ġimplement ĠItems List Fragment . On ItemSelected Listener ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġarray list Ġfrom Ġitem Ġfixtures Ċ // ĠĠĠĠĠĠĠ Ġval Ġitems Ġ= ĠItem . getItems () ĊĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= Ġarguments . get Serializable (" items ") Ġas ĠArrayList < Item > ĊĊĠĠĠĠĠĠĠ Ġadapter Items Ġ= ĠArray Adapter ( activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ category , Ġitems ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater ?, Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġview ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater !!. inflate ( com . bar zing a . R . layout . fragment _ items _ list , Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ// ĠBind Ġadapter Ġto ĠListView ĊĠĠĠĠĠĠĠ Ġlv Items Ġ= Ġview . findViewById < View >( com . bar zing a . R . id . lv Items ) Ġas ĠListView ĊĠĠĠĠĠĠĠ Ġlv Items !!. adapter Ġ= Ġadapter Items ĊĠĠĠĠĠĠĠ Ġlv Items !!. on ItemClickListener Ġ= ĠAdapter View . On ItemClickListener Ġ{ Ġadapter View , Ġitem , Ġposition , Ġrow Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRetrieve Ġitem Ġbased Ġon Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġadapter Items !!. getItem ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠFire Ġselected Ġevent Ġfor Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener !!. on ItemSelected ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlv Items !!. post ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlv Items !!. setItem Checked ( 0 , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġset Activate On Item Click ( true ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTurn s Ġon Ġactivate - on - click Ġmode . ĠWhen Ġthis Ġmode Ġis Ġon , Ġlist Ġitems Ġwill Ġbe ĊĠĠĠĠ Ġ* Ġgiven Ġthe Ġ' activated ' Ġstate Ġwhen Ġtouched . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Activate On Item Click ( activate On Item Click : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWhen Ġsetting ĠC HO ICE _ MODE _ SINGLE , ĠListView Ġwill Ġautomatically ĊĠĠĠĠĠĠĠ Ġ// Ġgive Ġitems Ġthe Ġ' activated ' Ġstate Ġwhen Ġtouched . ĊĠĠĠĠĠĠĠ Ġlv Items !!. choice Mode Ġ= Ġif Ġ( activate On Item Click ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠListView . CHO ICE _ MODE _ SINGLE ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠListView . CHO ICE _ MODE _ NONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠItem Detail Fragment . newInstance ( item ) ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( items : ĠArrayList < Item >): ĠItems List Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Demo Ġ= ĠItems List Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Serializable (" items ", Ġitems ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Demo . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment Demo ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }