Beispiel #1
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            var view = convertView;
            ProductListAdapterViewHolder holder = null;

            if (view != null)
            {
                holder = view.Tag as ProductListAdapterViewHolder;
            }

            if (holder == null)
            {
                CreateAndSetHolder(parent, out view, out holder, position);
            }

            //fill in your items
            //holder.Title.Text = "new text here";
            var product = _products[position];

            holder.Name.Text  = product.Name;
            holder.Price.Text = product.Price.ToString();
            holder.Count.Text = product.Count.ToString();

            holder.Purchased.Checked = product.Purchased;

            return(view);
        }
Beispiel #2
0
 private void SetPurchasedCheckboxclickedHandler(int position, ProductListAdapterViewHolder holder)
 {
     holder.Purchased.Click += (s, e) =>
     {
         var lProduct = _products[position];
         lProduct.Purchased = ((CheckBox)s).Checked;
         _productRepository.Update(lProduct);
     };
 }
Beispiel #3
0
        private void CreateAndSetHolder(ViewGroup parent, out View view, out ProductListAdapterViewHolder holder, int position)
        {
            holder = new ProductListAdapterViewHolder();
            var inflater = _context.GetSystemService(Context.LayoutInflaterService).JavaCast <LayoutInflater>();

            //replace with your item and your holder items
            //comment back in
            view = inflater.Inflate(Resource.Layout.product_item_template, parent, false);

            holder.Name      = view.FindViewById <TextView>(Resource.Id.txtName);
            holder.Price     = view.FindViewById <TextView>(Resource.Id.txtPrice);
            holder.Count     = view.FindViewById <TextView>(Resource.Id.txtCount);
            holder.Edit      = view.FindViewById <TextView>(Resource.Id.txtEdit);
            holder.Delete    = view.FindViewById <TextView>(Resource.Id.txtDelete);
            holder.Purchased = view.FindViewById <CheckBox>(Resource.Id.cbPurchased);

            SetPurchasedCheckboxclickedHandler(position, holder);

            holder.Edit.Click   += (s, e) => { GoToEditActivity(position); };
            holder.Delete.Click += (s, e) => { DeleteProductFromList(position); };

            view.Tag = holder;
        }