package Ġcom . se ph oe . jet pack . ui . start Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġandroidx . navigation . fragment . Nav Host Fragment Ċ import Ġcom . example . gu ill . coroutines . databinding . Start Fragment Binding Ċ import Ġcom . se ph oe . jet pack . ui . adapter . Start Options Adapter Ċ import Ġkotlinx . android . synt hetic . main . start _ fragment .* Ċ Ċ class ĠStart Fragment Ġ: Ġandroidx . fragment . app . Fragment () Ġ{ ĊĊĠĠĠ Ġ// ĠAttributes ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠStart ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠStart Fragment Binding ĊĊĠĠĠ Ġ// -------------------------------------------------------------------------------- -------------- ĊĠĠĠ Ġ// ĠFragment ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠStart Fragment Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this ). get ( Start ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĊĠĠĠĠĠĠĠ Ġinit Options () ĊĠĠĠĠĠĠĠ Ġinit Observer s () ĊĊĠĠĠĠĠĠĠ ĠviewModel . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Options () Ġ{ ĊĠĠĠĠĠĠĠ Ġrv Start Options . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġrv Start Options . layout Manager Ġ= Ġandroidx . recyclerview . widget . Linear LayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġrv Start Options . adapter Ġ= ĠStart Options Adapter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Observer s () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . options LiveData . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( rv Start Options . adapter Ġas ? ĠStart Options Adapter ?) ?. update ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . click Live Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠStart Fragment Directions . action Start Fragment To Page List Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction . set Amount ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNav Host Fragment . find Nav Controller ( this ). navigate ( action ) ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġbinding . unbind () ĊĠĠĠ Ġ} Ċ Ċ } Ċ