package Ġcom . minimal istic apps . group fin ances . ui . groups Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . service . aut ofill . UserData Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . google . android . material . floating action button . Floating ActionButton Ċ import Ġcom . minimal istic apps . group fin ances . R Ċ import Ġcom . minimal istic apps . group fin ances . databinding . Fragment Groups Binding Ċ Ċ class ĠGroups Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgroups ViewModel : ĠGroups ViewModel ĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠFragment Groups Binding ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠThis Ġproperty Ġis Ġonly Ġvalid Ġbetween ĠonCreate View Ġand ĊĠĠĠ Ġ// Ġon Destroy View . ĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġprivate Ġval Ġgroups Data Ġ= Ġarray ListOf ( ĊĠĠĠĠĠĠĠ Ġ" Yo ", ĊĠĠĠĠĠĠĠ Ġ" Hi ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a ", ĊĠĠĠĠĠĠĠ Ġ" a " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlinear LayoutManager : ĠLinearLayoutManager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgroups Recycler Adapter : ĠGroups Recycler Adapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġgroups ViewModel Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewModel Provider ( this ). get ( Groups ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment Groups Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġroot : ĠView Ġ= Ġbinding . root ĊĊĠĠĠĠĠĠĠ Ġinit RecyclerView () ĊĠĠĠĠĠĠĠ Ġval Ġadds Btn Ġ= Ġroot . findViewById < Floating ActionButton >( R . id . addGroup Button ) ĊĠĠĠĠĠĠĠ Ġadds Btn . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups Data . add ("+ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroups Recycler Adapter . notify Item Inserted ( groups Data . size Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġgroups Recycler Adapter Ġ= ĠGroups Recycler Adapter ( require Context (), Ġgroups Data ) ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView Ġ= Ġbinding . groups RecyclerView ĊĠĠĠĠĠĠĠ Ġlinear LayoutManager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= Ġlinear LayoutManager ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġgroups Recycler Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }