public void Update(StationInventories.StationInventory station)
        {
            var sortedList = from StationInventories.InventoryItem item in station.Inventory
                             orderby item.Name
                             select item;

            StationInventories.InventoryItem[] items = sortedList.ToArray();
            this.Clear();
            this.alphaIndex.Clear();
            this.AddAll(items);

            for (int i = 0; i < items.Length; i++)
            {
                var key = items[i].Name[0].ToString();
                if (!alphaIndex.ContainsKey(key))
                {
                    alphaIndex.Add(key, i);
                }
            }
            var sortedKeys = from string letter in alphaIndex.Keys
                             orderby letter
                             select letter;

            sections        = sortedKeys.ToArray();
            sectionsObjects = new object[sections.Length];
            for (int i = 0; i < sections.Length; i++)
            {
                sectionsObjects[i] = new string(sections[i]);
            }

            this.NotifyDataSetChanged();
        }
        private void CreateTab(StationInventories.StationInventory station)
        {
            StationInventoryAdapter adapter = new StationInventoryAdapter(this);

            adapter.Update(station);
            StationInventoryListFragment fragment = new StationInventoryListFragment(adapter, this);

            var tab = this.ActionBar.NewTab();

            tab.SetText(station.Name);
            tab.SetTabListener(this);
            tab.SetTag(fragment);
            switch (station.Faction)
            {
            case Factions.SOLRAIN:
                tab.SetIcon(R.Drawables.solrain);
                break;

            case Factions.QUANTAR:
                tab.SetIcon(R.Drawables.quantar);
                break;

            case Factions.OCTAVIUS:
                tab.SetIcon(R.Drawables.octavius);
                break;

            case Factions.HYPERIAL:
                tab.SetIcon(R.Drawables.hyperial);
                break;

            case Factions.AMANANTH:
                tab.SetIcon(R.Drawables.amananth);
                break;

            case Factions.UNREGULATED:
                tab.SetIcon(R.Drawables.tri);
                break;
            }

            this.ActionBar.AddTab(tab);
        }