package Ġcom . gr arch t . sh ut tle . demo . mv vm with navigation . view Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . navigation . fragment . Nav Host Fragment Ċ import Ġcom . gr arch t . sh ut tle . demo . mv vm with navigation . R Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ Ċ private Ġconst Ġval ĠNAV _ HOST _ TAG Ġ= Ġ" nav Ġhost " Ċ Ċ @ Android EntryPoint Ċ class ĠMV VM Nav Second View Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġview : ĠView ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġinit Fragment Container View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Ġ= ĠLayoutInflater . from ( this ). inflate ( R . layout . mv vm _ nav _ second _ view _ activity , Ġnull ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Fragment Container View () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnav Host Fragment Ġ= Ġsupport FragmentManager . find Fragment By Tag ( NAV _ HOST _ TAG ) ĊĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġnav Host Fragment Ġ&& Ġnav Host Fragment . is Added ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( null Ġ== Ġnav Host Fragment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Host Fragment Ġ= ĠNav Host Fragment . create ( R . navigation . second _ nav _ graph , Ġintent . extras ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . container , Ġnav Host Fragment , ĠNAV _ HOST _ TAG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Primary Navigation Fragment ( nav Host Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} Ċ } Ċ