public ComponentListViewAdapter(int id, Context context, ComponentListMode mode, bool ignoreDefaults = true) { model = new ComponentsModel(id, mode); int position = 0; foreach (ComponentModel cModel in model.ComponentModels) { CheckBoxWithId thisItem = new CheckBoxWithId(context); thisItem.Group = cModel.Group; thisItem.Position = position++; thisItem.ComponentId = cModel.Id; TextViewWithId portions = new TextViewWithId(context); portions.ComponentId = cModel.Id; portions.Text = " " + cModel.Portions.ToString(); portions.SetTextColor(Color.White); portions.SetBackgroundColor(Color.Black); portions.SetTextSize(Android.Util.ComplexUnitType.Sp, 25); portions.Click += Portions_Click; ImageViewWithId arrow = new ImageViewWithId(context); arrow.SetImageResource(Resource.Drawable.ViewComponents); arrow.SetPadding(5, 8, 0, 0); arrow.ComponentId = cModel.Id; arrow.Visibility = ViewStates.Invisible; arrow.Click += Arrow_Click; if (!ignoreDefaults && cModel.IsDefault) { thisItem.Checked = true; } checkBoxes.Add(thisItem); this.portions.Add(portions); arrows.Add(arrow); } }
public void AddOrderItem(OrderItemModel model) { TableRow newRow = new TableRow(container.Context); TextView nameView = new TextView(container.Context); TextView priceView = new TextView(container.Context); nameView.Text = model.DisplayName; nameView.SetPadding(10, 0, 0, 0); nameView.SetTextSize(ComplexUnitType.Sp, 20); nameView.SetTextColor(Color.Black); priceView.Text = model.Price.ToString("#0.00"); priceView.SetPadding(90, 0, 0, 0); priceView.SetTextSize(ComplexUnitType.Sp, 20); priceView.SetBackgroundColor(Color.White); priceView.SetTextColor(Color.Black); newRow.AddView(nameView); newRow.AddView(priceView); nameViews.Add(nameView); priceViews.Add(priceView); if (container.Parent.Parent is CurrentOrderLayout) { ImageViewWithPosition deleteImage = new ImageViewWithPosition(container.Context); Resources res = container.Context.Resources; if (model.State == State.None) #pragma warning disable CS0618 // Type or member is obsolete { deleteImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Delete)); } #pragma warning restore CS0618 // Type or member is obsolete else if (model.State == State.Started) #pragma warning disable CS0618 // Type or member is obsolete { deleteImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Locked)); } #pragma warning restore CS0618 // Type or member is obsolete else #pragma warning disable CS0618 // Type or member is obsolete { deleteImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Completed)); } #pragma warning restore CS0618 // Type or member is obsolete deleteImage.SetPadding(15, 0, 0, 0); if (model.State == State.None) { deleteImage.Click += DeleteImage_Click; } deleteImage.Id = model.Id; deleteImage.Position = deleteButtons.Count; deleteButtons.Add(deleteImage); newRow.AddView(deleteImage); ImageViewWithId editImage = new ImageViewWithId(container.Context); if (model.State == State.None) #pragma warning disable CS0618 // Type or member is obsolete { editImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Pen)); } #pragma warning restore CS0618 // Type or member is obsolete else if (model.State == State.Started) #pragma warning disable CS0618 // Type or member is obsolete { editImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Locked)); } #pragma warning restore CS0618 // Type or member is obsolete else if (model.State == State.Completed) #pragma warning disable CS0618 // Type or member is obsolete { editImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Completed)); } #pragma warning restore CS0618 // Type or member is obsolete editImage.SetPadding(15, 0, 0, 0); if (model.State == State.None) { editImage.Click += EditImage_Click; } editImage.Id = model.Id; editImage.Position = deleteButtons.Count - 1; editButtons.Add(editImage); newRow.AddView(editImage); } layout.AddView(newRow); nameView.LayoutParameters.Width = 600; }