public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = new CategoryPickerView(this.Activity, SelectedLocation);

            //This simply opens up the favorite category fragment
            ((MainActivity)Activity).OptionItemSelected += (sender, e) =>
            {
                if (e.Item.TitleFormatted.ToString() == "Favorite")
                {
                    var transaction = Activity.SupportFragmentManager.BeginTransaction();
                    FavoriteCategoriesFragment favoriteFragment = new FavoriteCategoriesFragment();
                    favoriteFragment.SelectedLocation = SelectedLocation;

                    transaction.Replace(Resource.Id.frameLayout, favoriteFragment);
                    transaction.AddToBackStack(null);
                    transaction.Commit();
                }
            };

            //This handles favoriting and unfavoriting categories
            view.CategoryLongClick += (sender, e) =>
            {
                var menu           = new Android.Support.V7.Widget.PopupMenu(this.Activity, e.SelectedView);
                var presentAlready = MainActivity.databaseConnection.FavoriteCategoryAlreadyPresent(e.Selected.Key);

                if (presentAlready)
                {
                    menu.Inflate(Resource.Menu.UnfavoriteMenu);
                }
                else
                {
                    menu.Inflate(Resource.Menu.FavoriteMenu);
                }

                menu.Show();
                menu.MenuItemClick += async(s, ev) =>
                {
                    if (presentAlready)
                    {
                        await MainActivity.databaseConnection.DeleteFavoriteCategoryAsync(e.Selected.Key);
                    }
                    else
                    {
                        await MainActivity.databaseConnection.AddNewFavoriteCategoryAsync(e.Selected.Key, e.Selected.Value);
                    }

                    if (MainActivity.databaseConnection.StatusCode == Models.codes.ok)
                    {
                        Toast.MakeText(this.Activity, $"Successfully (un)favorited: {e.Selected.Value}", ToastLength.Short).Show();
                    }
                    else
                    {
                        Toast.MakeText(this.Activity, $"Something went wrong, we're sorry!", ToastLength.Short).Show();
                    }
                };
            };

            return(view);
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = new CategoryPickerView(this.Activity, SelectedLocation);

            //This simply opens up the favorite category fragment
            ((MainActivity)Activity).OptionItemSelected += (sender, e) =>
            {
                if (e.Item.TitleFormatted.ToString() == "Favorite")
                {
                    var transaction = Activity.SupportFragmentManager.BeginTransaction();
                    FavoriteCategoriesFragment favoriteFragment = new FavoriteCategoriesFragment();
                    favoriteFragment.SelectedLocation = SelectedLocation;

                    transaction.Replace(Resource.Id.frameLayout, favoriteFragment);
                    transaction.AddToBackStack(null);
                    transaction.Commit();
                }
            };

            //This handles favoriting and unfavoriting categories
            view.CategoryLongClick += (sender, e) =>
            {
                var menu = new Android.Support.V7.Widget.PopupMenu(this.Activity, e.SelectedView);
                var presentAlready = MainActivity.databaseConnection.FavoriteCategoryAlreadyPresent(e.Selected.Key);

                if (presentAlready)
                    menu.Inflate(Resource.Menu.UnfavoriteMenu);
                else
                    menu.Inflate(Resource.Menu.FavoriteMenu);

                menu.Show();
                menu.MenuItemClick += async (s, ev) =>
                {
                    if (presentAlready)
                        await MainActivity.databaseConnection.DeleteFavoriteCategoryAsync(e.Selected.Key);
                    else
                        await MainActivity.databaseConnection.AddNewFavoriteCategoryAsync(e.Selected.Key, e.Selected.Value);

                    if (MainActivity.databaseConnection.StatusCode == Models.codes.ok)
                        Toast.MakeText(this.Activity, $"Successfully (un)favorited: {e.Selected.Value}", ToastLength.Short).Show();
                    else
                        Toast.MakeText(this.Activity, $"Something went wrong, we're sorry!", ToastLength.Short).Show();
                };
            };

            return view;
        }