public override Object OnCreateHeaderItemViewHolder(ViewGroup p0, int p1)
        {
            var itemBindingContext = new MvxAndroidBindingContext(p0.Context, BindingContext.LayoutInflaterHolder);

            var viewHolder =
                new MvxRecyclerViewHolder(
                    InflateViewForHolder(HeaderFooterDetails.HeaderLayoutId, p0, p1, itemBindingContext),
                    itemBindingContext)
            {
                DataContext = BindingContext.DataContext
            };

            viewHolder.Click += (e, a) => {
                if (HeaderClickCommand?.CanExecute(viewHolder.DataContext) ?? false)
                {
                    HeaderClickCommand.Execute(viewHolder.DataContext);
                }
            };

            viewHolder.LongClick += (e, a) =>
            {
                if (HeaderLongClickCommand?.CanExecute(viewHolder.DataContext) ?? false)
                {
                    HeaderLongClickCommand.Execute(viewHolder.DataContext);
                }
            };

            return(viewHolder);
        }
Beispiel #2
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            var itemBindingContext = new MvxAndroidBindingContext(parent.Context, BindingContext.LayoutInflaterHolder);
            var inflatedView       = InflateViewForHolder(parent, viewType, itemBindingContext);
            var viewHolder         = new MvxRecyclerViewHolder(inflatedView, itemBindingContext)
            {
                Click     = ItemClick,
                LongClick = ItemLongClick
            };

            return(viewHolder);
        }
        public override Android.Support.V7.Widget.RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            var itemBindingContext = new MvxAndroidBindingContext(parent.Context, _bindingContext.LayoutInflaterHolder);

            var vh = new MvxRecyclerViewHolder(InflateViewForHolder(parent, viewType, itemBindingContext), itemBindingContext)
            {
                Click     = ItemClick,
                LongClick = ItemLongClick
            };

            _viewHolders.Add(new WeakReference <IMvxRecyclerViewHolder>(vh));

            return(vh);
        }
Beispiel #4
0
        public override Object OnCreateHeaderItemViewHolder(ViewGroup p0, int p1)
        {
            var itemBindingContext = new MvxAndroidBindingContext(p0.Context, BindingContext.LayoutInflaterHolder);

            var viewHolder =
                new MvxRecyclerViewHolder(
                    InflateViewForHolder(HeaderFooterDetails.HeaderLayoutId, p0, p1, itemBindingContext),
                    itemBindingContext)
            {
                Click       = HeaderClickCommand,
                LongClick   = HeaderLongClickCommand,
                DataContext = BindingContext.DataContext
            };

            return(viewHolder);
        }
Beispiel #5
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            var itemBindingContext = new MvxAndroidBindingContext(parent.Context, _bindingContext.LayoutInflaterHolder);

            var vh = new MvxRecyclerViewHolder(InflateViewForHolder(parent, viewType, itemBindingContext), itemBindingContext);

            bool isHeader = IsSectionHeaderViewType(viewType);
            bool isFooter = IsSectionFooterViewType(viewType);

            if (isHeader || isFooter)
            {
                vh.Click     = SectionClick;
                vh.LongClick = SectionLongClick;
            }
            else
            {
                vh.Click     = ItemClick;
                vh.LongClick = ItemLongClick;
            }

            TuneViewHolderOnCreate?.Invoke(vh, viewType);

            return(vh);
        }
Beispiel #6
0
 public void Include(MvxRecyclerViewHolder viewHolder)
 {
     viewHolder.Click     += (sender, args) => { };
     viewHolder.LongClick += (sender, args) => { };
 }