Exemplo n.º 1
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(R.Layout.fragment_stack);

            // Watch for button clicks.
            Button button = (Button)FindViewById(R.Id.new_fragment);

            button.Click += (s, x) => AddFragmentToStack();

            button        = (Button)FindViewById(R.Id.home);
            button.Click += (s, x) =>
            {
                // If there is a back stack, pop it all.
                FragmentManager fm = GetSupportFragmentManager();
                if (fm.GetBackStackEntryCount() > 0)
                {
                    fm.PopBackStack(fm.GetBackStackEntryAt(0).GetId(),
                                    Android.Support.V4.App.FragmentManager.POP_BACK_STACK_INCLUSIVE);
                }
            };

            if (savedInstanceState == null)
            {
                // Do first time initialization -- Add initial fragment.
                Fragment            newFragment = CountingFragment.NewInstance(mStackLevel);
                FragmentTransaction ft          = GetSupportFragmentManager().BeginTransaction();
                ft.Add(R.Id.simple_fragment, newFragment).Commit();
            }
            else
            {
                mStackLevel = savedInstanceState.GetInt("level");
            }
        }
Exemplo n.º 2
0
        public override View OnCreateView(LayoutInflater Inflater, ViewGroup container,
                                          Bundle savedInstanceState)
        {
            View v = Inflater.Inflate(R.Layouts.fragment_stack, container, false);

            // Watch for button clicks.
            Button button = (Button)v.FindViewById(R.Ids.new_fragment);

            button.Click += (o, a) => AddFragmentToStack();

            button        = (Button)v.FindViewById(R.Ids.delete_fragment);
            button.Click += (o, a) => GetChildFragmentManager().PopBackStack();

            button        = (Button)v.FindViewById(R.Ids.home);
            button.Click += (o, a) =>
            {
                // If there is a back stack, pop it all.
                FragmentManager fm = GetChildFragmentManager();
                if (fm.GetBackStackEntryCount() > 0)
                {
                    fm.PopBackStack(fm.GetBackStackEntryAt(0).GetId(),
                                    FragmentManager.POP_BACK_STACK_INCLUSIVE);
                }
                ;
            };

            return(v);
        }