Пример #1
0
        protected internal virtual void InitializeListeners()
        {
            // --- Listeners to help Scroll synchronously ---
            // It handles Vertical scroll listener
            mVerticalRecyclerListener = new VerticalRecyclerViewListener(this);
            // Set this listener both of Cell RecyclerView and RowHeader RecyclerView
            mRowHeaderRecyclerView.AddOnItemTouchListener(mVerticalRecyclerListener);
            mCellRecyclerView.AddOnItemTouchListener(mVerticalRecyclerListener);
            // It handles Horizontal scroll listener
            mHorizontalRecyclerViewListener = new HorizontalRecyclerViewListener(this);
            // Set scroll listener to be able to scroll all rows synchrony.
            mColumnHeaderRecyclerView.AddOnItemTouchListener(mHorizontalRecyclerViewListener);
            // --- Listeners to help item clicks ---
            // Create item click listeners
            mColumnHeaderRecyclerViewItemClickListener =
                new ColumnHeaderRecyclerViewItemClickListener(mColumnHeaderRecyclerView, this);
            mRowHeaderRecyclerViewItemClickListener =
                new RowHeaderRecyclerViewItemClickListener(mRowHeaderRecyclerView, this);
            // Add item click listeners for both column header & row header recyclerView
            mColumnHeaderRecyclerView.AddOnItemTouchListener(mColumnHeaderRecyclerViewItemClickListener);
            mRowHeaderRecyclerView.AddOnItemTouchListener(mRowHeaderRecyclerViewItemClickListener);
            // Add Layout change listener both of Column Header  & Cell recyclerView to detect
            // changing size
            // For some case, it is pretty necessary.
            TableViewLayoutChangeListener layoutChangeListener = new TableViewLayoutChangeListener(this);

            mColumnHeaderRecyclerView.AddOnLayoutChangeListener(layoutChangeListener);
            mCellRecyclerView.AddOnLayoutChangeListener(layoutChangeListener);

            SetTableViewListener(this);
        }
Пример #2
0
        // Add new one
        public override void OnAttachedToWindow(RecyclerView view)
        {
            base.OnAttachedToWindow(view);
            // initialize the instances
            if (mCellRecyclerView == null)
            {
                mCellRecyclerView = mTableView.GetCellRecyclerView();
            }

            if (mHorizontalListener == null)
            {
                mHorizontalListener = mTableView.GetHorizontalRecyclerViewListener();
            }
        }