public ItemHolder(HorizontalAdapter adapter, View itemView)
                : base(itemView)
            {
                mAdapter = adapter;

                DragItem     = itemView.FindViewById <TextView>(Resource.Id.drag_item);
                mSwipeLayout = itemView.FindViewById <Com.Zerobranch.Layout.SwipeLayout>(Resource.Id.swipe_layout);
                mLeftView    = itemView.FindViewById <ImageView>(Resource.Id.left_view);
                mRightView   = itemView.FindViewById <ImageView>(Resource.Id.right_view);

                if (mRightView != null)
                {
                    mRightView.Click += (_, __) =>
                    {
                        if (base.AdapterPosition != RecyclerView.NoPosition)
                        {
                            mAdapter.Remove(itemView.Context, base.AdapterPosition);
                        }
                    };
                }

                if (mLeftView != null)
                {
                    mLeftView.Click += (_, __) =>
                    {
                        if (base.AdapterPosition != RecyclerView.NoPosition)
                        {
                            mAdapter.Upload(itemView.Context, base.AdapterPosition);
                        }
                    };
                }
            }
            public ItemHolder(RightAdapter adapter, View itemView)
                : base(itemView)
            {
                mAdapter = adapter;

                DragItem     = itemView.FindViewById <TextView>(Resource.Id.drag_item);
                mSwipeLayout = itemView.FindViewById <Com.Zerobranch.Layout.SwipeLayout>(Resource.Id.swipe_layout);
                mLeftView    = itemView.FindViewById <ImageView>(Resource.Id.left_view);
                mRightView   = itemView.FindViewById <ImageView>(Resource.Id.right_view);

                if (mRightView != null)
                {
                    mRightView.Click += (o, e) =>
                    {
                        if (base.AdapterPosition != Com.Zerobranch.Layout.SwipeLayout.NoPosition)
                        {
                            mAdapter.Remove(itemView.Context, base.AdapterPosition);
                        }
                    };
                }

                if (mLeftView != null)
                {
                    mLeftView.Click += (o, e) =>
                    {
                        if (base.AdapterPosition != Com.Zerobranch.Layout.SwipeLayout.NoPosition)
                        {
                            mAdapter.Upload(itemView.Context, base.AdapterPosition);
                        }
                    };
                }

                if (mSwipeLayout != null)
                {
                    mSwipeLayout.OnOpen += (o, e) =>
                    {
                        if (e.Direction == Com.Zerobranch.Layout.SwipeLayout.Right && e.IsContinuous)
                        {
                            if (base.AdapterPosition != Com.Zerobranch.Layout.SwipeLayout.NoPosition)
                            {
                                mAdapter.Remove(itemView.Context, base.AdapterPosition);
                            }
                        }
                    };

                    mSwipeLayout.OnClose += (o, e) =>
                    {
                    };
                }
            }