public virtual void OnViewAttachedToWindow(AbstractViewHolder holder) { base.OnViewAttachedToWindow(holder); CellRecyclerViewAdapter.CellRowViewHolder viewHolder = (CellRecyclerViewAdapter.CellRowViewHolder)holder; ScrollHandler scrollHandler = mTableView.GetScrollHandler(); // The below code helps to display a new attached recyclerView on exact scrolled position. ((ColumnLayoutManager)viewHolder.recyclerView.GetLayoutManager()).ScrollToPositionWithOffset( scrollHandler.GetColumnPosition(), scrollHandler.GetColumnPositionOffset()); SelectionHandler selectionHandler = mTableView.GetSelectionHandler(); if (selectionHandler.IsAnyColumnSelected()) { AbstractViewHolder cellViewHolder = (AbstractViewHolder)viewHolder.recyclerView.FindViewHolderForAdapterPosition( selectionHandler.GetSelectedColumnPosition()); if (cellViewHolder != null) { // Control to ignore selection color if (!mTableView.IsIgnoreSelectionColors()) { cellViewHolder.SetBackgroundColor(mTableView.GetSelectedColor()); } cellViewHolder.SetSelected(AbstractViewHolder.SelectionState.Selected); } } else { if (selectionHandler.IsRowSelected(holder.AdapterPosition)) { selectionHandler.ChangeSelectionOfRecyclerView(viewHolder.recyclerView, AbstractViewHolder.SelectionState.Selected, mTableView.GetSelectedColor()); } } }