package Ġcom . sim on . basic . core . mv vm Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġcom . sim on . basic . core . platform . I Delegate Ċ import Ġcom . sim on . basic . core . platform . View Binding Fragment Ċ Ċ /** Ċ Ġ* Ġ@ author ĠSimon Ċ Ġ* Ġ@ date Ġ 2 0 2 0 / 4 / 1 2 Ċ Ġ* Ġ@ desc Ċ Ġ*/ Ċ abstract Ġclass ĠViewModel Fragment < V Ġ: ĠView Data Binding , ĠVM Ġ: ĠBase ViewModel > Ġ: ĊĠĠĠ ĠView Binding Fragment < V >(), ĊĠĠĠ ĠI Delegate Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġm ViewModel : ĠVM ĊĠĠĠ Ġabstract Ġfun Ġobtain ViewModel (): ĠVM ĊĠĠĠ Ġabstract Ġfun Ġbind ( bind : ĠV , ĠviewModel : ĠVM ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm ViewModel Ġ= Ġobtain ViewModel () ĊĠĠĠĠĠĠĠ Ġbind ( m Binding , Ġm ViewModel ) ĊĠĠĠĠĠĠĠ Ġprocess ViewState () ĊĠĠĠĠĠĠĠ Ġreturn Ġm Binding . root ĊĠĠĠ Ġ} Ċ }