public override void OnDestroyView()
        {
            // drop the nested fragments to save RAM
            galaxyFragment    = null;
            solSysFragment    = null;
            planetFragment    = null;
            sectorFragment    = null;
            structureFragment = null;

            base.OnDestroyView();
        }
        public void SetScale(PointOfPresenceObj.PopScale newScale)
        {
            if (newScale != curScale)
            {
                ClearScaleBtn();

                PopSubFragment newFragment = null;
                switch (newScale)
                {
                case PointOfPresenceObj.PopScale.Galaxy:
                    if (galaxyFragment == null)
                    {
                        galaxyFragment = new GalaxyPopFragment();
                    }
                    newFragment = galaxyFragment;
                    break;

                case PointOfPresenceObj.PopScale.System:
                    if (solSysFragment == null)
                    {
                        solSysFragment = new SolSysPopFragment();
                    }
                    newFragment = solSysFragment;
                    break;

                case PointOfPresenceObj.PopScale.Planet:
                    if (planetFragment == null)
                    {
                        planetFragment = new PlanetPopFragment();
                    }
                    newFragment = planetFragment;
                    break;

                case PointOfPresenceObj.PopScale.Sector:
                    if (sectorFragment == null)
                    {
                        sectorFragment = new SectorPopFragment();
                    }
                    newFragment = sectorFragment;
                    break;

                case PointOfPresenceObj.PopScale.Structure:
                    if (structureFragment == null)
                    {
                        structureFragment = new StructurePopFragment();
                    }
                    newFragment = structureFragment;
                    break;
                }
                if (newFragment != null)
                {
                    curScale = newScale;
                    SetScaleBtn();
                    newFragment.parent = this;
                    if (firstFrag)
                    {
                        FragmentManager.BeginTransaction().Add(Resource.Id.fragment, newFragment).Commit();
                    }
                    else
                    {
                        FragmentManager.BeginTransaction().Replace(Resource.Id.fragment, newFragment).Commit();
                    }
                    newFragment.Initialize();
                    firstFrag = false;
                }
            }
        }
예제 #3
0
 public PlanetListAdapter(SolSysPopFragment context, List <PlanetObj> theItems) : base()
 {
     this.fragment = context;
     this.allItems = theItems;
     expandMap     = new bool[theItems.Count];
 }