public override bool OnOptionsItemSelected(IMenuItem item) { if (IsActive) { int id = item.ItemId; if (id == Android.Resource.Id.Home) { MainActivity.IsNavDisabled = false; Activity.OnBackPressed(); return(true); } else if (id == Resource.Id.view_restaurant) { Fragment fragment = RestaurantViewFragment.NewInstance(booking.RestaurantId); FragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, fragment) .AddToBackStack(null) .Commit(); } else if (id == Resource.Id.cancel_booking) { new Android.App.AlertDialog.Builder(Activity). SetIcon(Android.Resource.Drawable.IcDialogAlert). SetTitle("Confirm"). SetMessage("Are you sure you want to cancel the booking?"). SetPositiveButton("Yes", (c, ev) => { bool res = _bookingFacade.Cancel(booking.Id).Result; if (res) { Toast.MakeText(Activity, "Booking Cancelled", ToastLength.Long).Show(); Fragment fragment = BookingIndexFragment.NewInstance(); FragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, fragment) .Commit(); } else { Toast.MakeText(Activity, "An error occured whilst cancelling. Please try again later", ToastLength.Long).Show(); } }). SetNegativeButton("No", (c, ev) => { }). Show(); } } return(base.OnOptionsItemSelected(item)); }
private void ListItemClicked(int position) { //this way we don't load twice, but you might want to modify this a bit. if (position == oldPosition) { return; } oldPosition = position; Fragment fragment = null; switch (position) { case 0: fragment = HomeFragment.NewInstance(); break; case 1: fragment = RestaurantIndexFragment.NewInstance(); break; case 2: fragment = MenuIndexFragment.NewInstance(); break; case 3: fragment = LoginFragment.NewInstance(); break; case 4: fragment = RegisterFragment.NewInstance(); break; case 5: fragment = UserDetailsFragment.NewInstance(); break; case 6: fragment = BookingIndexFragment.NewInstance(); break; case 7: new Android.App.AlertDialog.Builder(this). SetIcon(Android.Resource.Drawable.IcDialogAlert). SetTitle("Confirm"). SetMessage("Are you sure you want to logout?"). SetPositiveButton("Yes", (c, ev) => { GenericFacade.Token = ""; GenericFacade.UserName = ""; GenericFacade.UserId = 0; ToggleLogout(); }). SetNegativeButton("No", (c, ev) => { }). Show(); break; case 8: ExitApp(); break; } if (fragment != null) { FragmentManager.BeginTransaction() .Replace(Resource.Id.content_frame, fragment) .Commit(); } }