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); } }
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); }
protected void OnCategoryClicked(CategoryClickedEventArgs e) { CategoryClicked?.Invoke(this, e); }