package Ġcom . example . android _ study . android . activity . fragment . communication . with ViewModel Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . fragment . app . commit Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġcom . example . android _ study . R Ċ import Ġcom . example . android _ study ._ base . Base Fragment Ċ import Ġkotlinx . android . synt hetic . main . fragment _ communication _ view model _ a .* Ċ Ċ /** Ċ Ġ* ĠAuthor : create Ġby ĠR hy thm Coder Ċ Ġ* ĠDate : 2 0 2 1 / 7 / 2 2 Ċ Ġ* ĠDescription : Ċ Ġ*/ Ċ class ĠF ViewModel A Ġ: ĠBase Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġactivity ViewModels < Fragment ViewModel >() ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ communication _ view model _ a , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel . data . observe ( view Lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext . text Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtext . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent FragmentManager . commit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Custom Animations ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . fragment _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . fragment _ out , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . fragment _ in , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . anim . fragment _ out ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Re ordering Allowed ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠaddTo Back Stack ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreplace ( R . id . container , ĠF ViewModel B :: class . java , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }