public bool OnNavigationItemSelected(int itemPosition, long itemId) { if (cirrentNavigation == itemPosition) { return(true); } activeFragment.As <CreateTransactionFragment>(f => f.TransactionCreated -= UpdatePendingTransactionCount); switch (itemPosition) { case 0: { var createTransactionFragment = new CreateTransactionFragment(repository); createTransactionFragment.TransactionCreated += UpdatePendingTransactionCount; activeFragment = createTransactionFragment; break; } case 1: { activeFragment = new TotalFragment(repository); break; } default: throw new ArgumentOutOfRangeException(); } FindViewById <ViewGroup>(Resource.Id.Content).RemoveAllViews(); using (var t = FragmentManager.BeginTransaction()) { t.Add(Resource.Id.Content, activeFragment); t.Commit(); } cirrentNavigation = itemPosition; return(true); }