Esempio n. 1
0
        private void InitializeActionBar(IEnumerable <string> tabNames)
        {
            foreach (var tabName in tabNames)
            {
                // TODO: use names as primary keys
                // TODO: use group service here instaed of list of names for groups
                var items       = noteService.GetCollection().Where(i => i.GroupName == tabName).Select(i => i.Name);
                var tabFragment = CreateTabFragment(items);

                var tab = actionBar.NewTab();

                tab.SetText(tabName);
                tab.TabSelected += (sender, e) =>
                {
                    var fragment = fragmentManager.FindFragmentById(containerId);
                    if (fragment != null)
                    {
                        e.FragmentTransaction.Remove(fragment);
                    }

                    items       = noteService.GetCollection().Where(i => i.GroupName == tabName).Select(i => i.Name);
                    tabFragment = CreateTabFragment(items);
                    e.FragmentTransaction.Add(containerId, tabFragment);
                };
                tab.TabUnselected += (sender, e) =>
                {
                    e.FragmentTransaction.Remove(tabFragment);
                };

                actionBar.AddTab(tab);
            }
        }