Beispiel #1
0
        /// <summary>
        /// Navigate to Stock
        /// </summary>
        void NavigateToTrailerStock()
        {
            if (SupportFragmentManager.BackStackEntryCount != 0)
            {
                var count = SupportFragmentManager.BackStackEntryCount - 1;
                var entry = SupportFragmentManager.GetBackStackEntryAt(count);

                // prevent jumping into stock screen from stock screen
                if (entry.Name == DriverStockFragment.TAG)
                {
                    return;
                }
            }

            var fragment = DriverStockFragment.NewInstance(true);

            NavigateToFragment(fragment, DriverStockFragment.TAG);
        }
 // To support using the Fragment Backstack with back press
 // Override OnBackPress and have it call this utility method
 public void OnBackPressWithFragmentManagement()
 {
     BackPressed?.Invoke(this, EventArgs.Empty);
     if (SupportFragmentManager.BackStackEntryCount > 1)
     {
         // get the fragment to be popped
         SupportFragmentManager.PopBackStackImmediate();
         var entry = SupportFragmentManager.GetBackStackEntryAt(SupportFragmentManager.BackStackEntryCount - 1);
         var frag  = SupportFragmentManager.FindFragmentByTag(entry.Name);
         FragmentPoppedOnBack?.Invoke(null, frag);
     }
     else
     {
         if (SupportFragmentManager.BackStackEntryCount == 1)
         {
             SupportFragmentManager.PopBackStackImmediate();
         }
         base.OnBackPressed();
     }
 }