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); } }