Example #1
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            var viewHolder = new RvItemHolder(handler.MauiContext);

            clickListener = new RvViewHolderClickListener(viewHolder, rvh =>
            {
                if (rvh.PositionInfo == null || rvh.PositionInfo.Kind != PositionKind.Item)
                {
                    return;
                }

                var p = new ItemPosition(rvh.PositionInfo.SectionIndex, rvh.PositionInfo.ItemIndex);

                rvh.PositionInfo.IsSelected = !rvh.PositionInfo.IsSelected;

                if (rvh.PositionInfo.IsSelected)
                {
                    handler.VirtualView?.SetSelected(p);
                }
                else
                {
                    handler.VirtualView?.SetDeselected(p);
                }
            });

            viewHolder.ItemView.SetOnClickListener(clickListener);

            return(viewHolder);
        }
Example #2
0
 public RvViewHolderClickListener(RvItemHolder viewHolder, Action <RvItemHolder> clickHandler)
 {
     ViewHolder   = viewHolder;
     ClickHandler = clickHandler;
 }