protected override IMvxAndroidViewPresenter CreateViewPresenter() { var presenter = new MvxAppCompatViewPresenter(AndroidViewAssemblies); presenter.AddPresentationHintHandler <ClearBackstackHint>((new BackStackHintHandler()).HandleClearBackstackHint); Mvx.RegisterSingleton <IMvxAndroidViewPresenter>(presenter); return(presenter); }
protected override IMvxAndroidViewPresenter CreateViewPresenter() { var mvxFragmentsPresenter = new MvxAppCompatViewPresenter(AndroidViewAssemblies); Mvx.RegisterSingleton <IMvxAndroidViewPresenter>(mvxFragmentsPresenter); mvxFragmentsPresenter.AddPresentationHintHandler <MvxPanelPopToRootPresentationHint>(hint => { var activity = Mvx.Resolve <IMvxAndroidCurrentTopActivity>().Activity; var fragmentActivity = activity as global::Android.Support.V4.App.FragmentActivity; for (int i = 0; i < fragmentActivity.SupportFragmentManager.BackStackEntryCount; i++) { fragmentActivity.SupportFragmentManager.PopBackStack(); } return(true); }); Mvx.RegisterSingleton <MvxPresentationHint>(() => new MvxPanelPopToRootPresentationHint()); return(mvxFragmentsPresenter); }
protected override IMvxAndroidViewPresenter CreateViewPresenter() { var mvxFragmentsPresenter = new MvxAppCompatViewPresenter(AndroidViewAssemblies); Mvx.RegisterSingleton <IMvxAndroidViewPresenter>(mvxFragmentsPresenter); //add a presentation hint handler to listen for pop to root mvxFragmentsPresenter.AddPresentationHintHandler <MvxPanelPopToRootPresentationHint>(hint => { var activity = Mvx.Resolve <IMvxAndroidCurrentTopActivity>().Activity; var fragmentActivity = activity as global::Android.Support.V4.App.FragmentActivity; for (var i = 0; i < fragmentActivity.SupportFragmentManager.BackStackEntryCount; i++) { fragmentActivity.SupportFragmentManager.PopBackStack(); } return(Task.FromResult(true)); }); //register the presentation hint to pop to root //picked up in the third view model Mvx.RegisterSingleton <MvxPresentationHint>(() => new MvxPanelPopToRootPresentationHint()); return(mvxFragmentsPresenter); }