protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Toolbar.SetNavigationIcon(Resource.Drawable.ic_cancel); Window.SetStatusBarColor(Android.Graphics.Color.ParseColor("#00796B")); editName = FindViewById <EditText>(Resource.Id.edit_category_name); editDescription = FindViewById <EditText>(Resource.Id.edit_category_description); ArrayAdapter adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, types); adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem); spinnerCategoryType = FindViewById <Spinner>(Resource.Id.spinner_category_type); spinnerCategoryType.Adapter = adapter; // Initialize gridview and handle click events gridIcons = FindViewById <GridView>(Resource.Id.gridviewCategory); iconsAdapter = new IconsAdapter(this, categoryIcons); gridIcons.Adapter = iconsAdapter; View previousGridItem = null; // The previous selected item bool flag = true; gridIcons.ItemClick += (sender, args) => { if (flag) { previousGridItem = gridIcons.GetChildAt(0); flag = false; } if (previousGridItem != args.View) { args.View.SetBackgroundResource(Resource.Color.accent); previousGridItem.SetBackgroundResource(0); previousGridItem = args.View; } iconDrawable = (int)gridIcons.GetItemIdAtPosition(args.Position); }; Bundle extras = Intent.Extras; if (extras != null) { editMode = extras.GetBoolean("EDIT_MODE"); if (editMode) { category = Newtonsoft.Json.JsonConvert.DeserializeObject <Category>(extras.GetString("CATEGORY_OBJECT")); editName.Text = category.Name; editDescription.Text = category.Description; spinnerCategoryType.SetSelection(adapter.GetPosition(category.Type.ToString())); gridIcons.Tag = category.Icon; } } else { category = new Category(); gridIcons.Tag = iconDrawable; } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Toolbar.SetNavigationIcon(Resource.Drawable.ic_cancel); Window.SetStatusBarColor(Android.Graphics.Color.ParseColor("#00796B")); // Initalize text fields editName = FindViewById <EditText>(Resource.Id.edit_account_name); editDescription = FindViewById <EditText>(Resource.Id.edit_account_description); //Initalize spinner ArrayAdapter ad = new ArrayAdapter(this, Android.Resource.Layout.SimpleSpinnerItem, currencies); ad.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem); spinnerCurrency = FindViewById <Spinner>(Resource.Id.spinner_account_currency); spinnerCurrency.Adapter = ad; // Initialize gridview and handle click events gridIcons = FindViewById <GridView>(Resource.Id.gridview); iconsAdapter = new IconsAdapter(this, accountIcons); gridIcons.Adapter = iconsAdapter; View previousGridItem = null; // The previous selected item bool flag = true; gridIcons.ItemClick += (sender, args) => { if (flag) { previousGridItem = gridIcons.GetChildAt(0); flag = false; } if (previousGridItem != args.View) { args.View.SetBackgroundResource(Resource.Color.accent); previousGridItem.SetBackgroundResource(0); previousGridItem = args.View; } iconDrawable = (int)gridIcons.GetItemIdAtPosition(args.Position); }; // If edit mode -> pre-fill fields Bundle extras = Intent.Extras; if (extras != null) { editMode = extras.GetBoolean("EDIT_MODE"); if (editMode) { account = Newtonsoft.Json.JsonConvert.DeserializeObject <Account>(extras.GetString("ACCOUNT_JSON")); editName.Text = account.Name; editDescription.Text = account.Description; spinnerCurrency.SetSelection(ad.GetPosition(Utils.Utils.GetCurrencyFullName(account.Currency))); gridIcons.Tag = account.Icon; } } else { account = new Account(); gridIcons.Tag = iconDrawable; } }