private void StartActionFromNavigationDrawer(object sender, AdapterView.ItemClickEventArgs e) { this.DrawerLayout.CloseDrawer(this.SideMenu); SideMenuAction action = this.SideMenuActions [e.Position]; if (action.ActionTypes.Contains(SideMenuActionType.EXECUTE_ACTION) && action.PerformAction != null) { action.PerformAction(); } else if (action.ActionTypes.Contains(SideMenuActionType.START_ACTIVITY)) { StartActivity(action.Intent); } }
public List <SideMenuAction> GetCustomSideMenuItemsFromArrayOfTypes(List <SideMenuItemIds> sideMenuItemIds) { this.SideMenuActions = new List <SideMenuAction> (); foreach (SideMenuItemIds sideMenuItemId in sideMenuItemIds) { switch (sideMenuItemId) { case SideMenuItemIds.HOME: { SideMenuAction action = new SideMenuAction(); Intent intent = new Intent(this.Context, typeof(MainMenuActivity)); intent.SetFlags(ActivityFlags.SingleTop); action.Id = SideMenuItemIds.HOME; action.ActionTypes = new List <SideMenuActionType> { SideMenuActionType.START_ACTIVITY }; action.Title = this.Context.GetString(Resource.String.LandingScreenTitle); action.Intent = intent; this.SideMenuActions.Add(action); break; } case SideMenuItemIds.HELP: { SideMenuAction action = new SideMenuAction(); action.Id = SideMenuItemIds.HELP; action.ActionTypes = new List <SideMenuActionType> { SideMenuActionType.NO_ACTION }; action.Title = this.Context.GetString(Resource.String.HelpCellTitle); this.SideMenuActions.Add(action); break; } case SideMenuItemIds.SETTINGS: { SideMenuAction action = new SideMenuAction(); Intent intent = new Intent(this.Context, typeof(SettingsActivity)); intent.SetFlags(ActivityFlags.ClearTask); action.Id = SideMenuItemIds.SETTINGS; action.ActionTypes = new List <SideMenuActionType> { SideMenuActionType.START_ACTIVITY }; action.Title = this.Context.GetString(Resource.String.SettingsCellTitle); action.Intent = intent; this.SideMenuActions.Add(action); break; } case SideMenuItemIds.SIGN_OUT: { SideMenuAction action = new SideMenuAction(); Intent intent = new Intent(this.Context, typeof(LoginActivity)); intent.SetFlags(ActivityFlags.ClearTask | ActivityFlags.NewTask); action.Id = SideMenuItemIds.SIGN_OUT; action.ActionTypes = new List <SideMenuActionType> { SideMenuActionType.START_ACTIVITY }; action.Title = this.Context.GetString(Resource.String.SignOutTitle); action.Intent = intent; this.SideMenuActions.Add(action); break; } case SideMenuItemIds.SUPPORT: { SideMenuAction action = new SideMenuAction(); action.Id = SideMenuItemIds.SUPPORT; action.ActionTypes = new List <SideMenuActionType> { SideMenuActionType.NO_ACTION }; action.Title = this.Context.GetString(Resource.String.SupportCellTitle); this.SideMenuActions.Add(action); break; } case SideMenuItemIds.SYNCHRONIZE: { SideMenuAction action = new SideMenuAction(); action.Id = SideMenuItemIds.SYNCHRONIZE; action.ActionTypes = new List <SideMenuActionType> { SideMenuActionType.NO_ACTION }; action.Title = this.Context.GetString(Resource.String.SynchronizeScreenTitle); this.SideMenuActions.Add(action); break; } } } return(this.SideMenuActions); }