public override async void OnViewCreated(View view, Bundle savedInstanceState)
        {
            base.OnViewCreated(view, savedInstanceState);
            await _categoryView.LoadFromPersistence();

            var emptyText = View.FindViewById <TextView>(Resource.Id.textEmpty);
            var chipGroup = View.FindViewById <ChipGroup>(Resource.Id.chipGroup);

            if (!_categoryView.Any())
            {
                emptyText.Visibility = ViewStates.Visible;
                chipGroup.Visibility = ViewStates.Gone;
            }

            foreach (var category in _categoryView)
            {
                var chip = (Chip)StyledInflater.Inflate(Resource.Layout.chipChoice, chipGroup, false);
                chip.Text      = category.Name;
                chip.Checkable = true;
                chip.Clickable = true;

                if (_assignedCategoryIds.Contains(category.Id))
                {
                    chip.Checked = true;
                }

                chip.Click += (sender, _) =>
                {
                    CategoryClicked?.Invoke(sender, new CategoryClickedEventArgs(_position, category.Id, chip.Checked));
                };

                chipGroup.AddView(chip);
            }
        }
Example #2
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = base.OnCreateView(inflater, container, savedInstanceState);

            SetupToolbar(view, Resource.String.mainMenu, true);

            _categoryList = view.FindViewById <RecyclerView>(Resource.Id.listCategories);
            _categoryList.SetAdapter(_categoryListAdapter);
            _categoryList.HasFixedSize = true;
            _categoryList.SetLayoutManager(new LinearLayoutManager(Activity));
            _categoryList.SetItemAnimator(null);

            _categoryListAdapter.NotifyDataSetChanged();

            _categoryListAdapter.CategorySelected += (_, id) =>
            {
                CategoryClicked?.Invoke(this, id);
            };

            var menu = view.FindViewById <RecyclerView>(Resource.Id.listMenu);

            SetupMenu(menu,
                      new List <SheetMenuItem>
            {
                new SheetMenuItem(Resource.Drawable.ic_action_backup, Resource.String.backup, BackupClicked),
                new SheetMenuItem(Resource.Drawable.ic_action_category, Resource.String.editCategories,
                                  EditCategoriesClicked),
                new SheetMenuItem(Resource.Drawable.ic_action_settings, Resource.String.settings,
                                  SettingsClicked),
                new SheetMenuItem(Resource.Drawable.ic_action_info_outline, Resource.String.about, AboutClicked)
            });

            return(view);
        }
Example #3
0
 protected void OnCategoryClicked(CategoryClickedEventArgs e)
 {
     CategoryClicked?.Invoke(this, e);
 }