package Ġxyz . lg val le . sur fac edu os ample . ui . main Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġkotlinx . android . synt hetic . main . fragment _ item _ list . view .* Ċ import Ġxyz . lg val le . sur fac edu os ample . R Ċ Ċ class ĠItem Fragment List Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĠViewModel Providers . of ( it ). get ( Item ViewModel :: class . java ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ item _ list , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġview . item _ list . layout Manager Ġ= ĠLinearLayoutManager ( this @ Item Fragment List . context ) ĊĊĠĠĠĠĠĠĠ ĠviewModel ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġitems Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . item _ list . adapter Ġ= ĠItem ListView Adapter ( items ) Ġ{ Ġitem Ġ-> Ġselect Item ( item ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠItem Fragment List () ĊĠĠĠ Ġ} Ċ } Ċ