From 7e030c81acd4bcf5e8bd8a61701dab79d860db4a Mon Sep 17 00:00:00 2001 From: sonique6784 Date: Mon, 23 Apr 2018 14:37:11 +1000 Subject: [PATCH 1/3] added ScrollHandler to ITableView --- .../main/java/com/evrencoskun/tableview/ITableView.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tableview/src/main/java/com/evrencoskun/tableview/ITableView.java b/tableview/src/main/java/com/evrencoskun/tableview/ITableView.java index d78d302b..8dac7fe6 100644 --- a/tableview/src/main/java/com/evrencoskun/tableview/ITableView.java +++ b/tableview/src/main/java/com/evrencoskun/tableview/ITableView.java @@ -138,4 +138,11 @@ public interface ITableView { * @return The FilterHandler of the TableView. */ FilterHandler getFilterHandler(); + + /** + * Retrieves the ScrollHandler of the TableView. + * + * @return The ScrollHandler of the TableView. + */ + ScrollHandler getScrollHandler() } From fcd362301f8be19b38aee7da283e43991b6b0928 Mon Sep 17 00:00:00 2001 From: sonique6784 Date: Mon, 23 Apr 2018 14:43:49 +1000 Subject: [PATCH 2/3] Fixed scroll misalignement for some reason the mHorizontalListener doesn't handle the right columnPosition / columnPositionOffset (they are set to 0). This is causing a mis-alignment between Column Headers and Cells. The TableView hold the right value, so use it. --- .../adapter/recyclerview/CellRecyclerViewAdapter.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tableview/src/main/java/com/evrencoskun/tableview/adapter/recyclerview/CellRecyclerViewAdapter.java b/tableview/src/main/java/com/evrencoskun/tableview/adapter/recyclerview/CellRecyclerViewAdapter.java index 5a62144a..b99152cb 100644 --- a/tableview/src/main/java/com/evrencoskun/tableview/adapter/recyclerview/CellRecyclerViewAdapter.java +++ b/tableview/src/main/java/com/evrencoskun/tableview/adapter/recyclerview/CellRecyclerViewAdapter.java @@ -120,9 +120,12 @@ public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) { // The below code helps to display a new attached recyclerView on exact scrolled position. CellRowViewHolder viewHolder = (CellRowViewHolder) holder; + + int colpos = mTableAdapter.getTableView().getScrollHandler().getColumnPosition(); + int colposoffset = mTableAdapter.getTableView().getScrollHandler().getColumnPositionOffset(); + ((ColumnLayoutManager) viewHolder.m_jRecyclerView.getLayoutManager()) - .scrollToPositionWithOffset(mHorizontalListener.getScrollPosition(), - mHorizontalListener.getScrollPositionOffset()); + .scrollToPositionWithOffset(colpos, colposoffset); SelectionHandler selectionHandler = mTableAdapter.getTableView().getSelectionHandler(); From 0cececdc6242c50a7d889d98a28614be785f9b99 Mon Sep 17 00:00:00 2001 From: sonique6784 Date: Mon, 23 Apr 2018 14:56:09 +1000 Subject: [PATCH 3/3] missing import --- .../src/main/java/com/evrencoskun/tableview/ITableView.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tableview/src/main/java/com/evrencoskun/tableview/ITableView.java b/tableview/src/main/java/com/evrencoskun/tableview/ITableView.java index 8dac7fe6..3a79a27d 100644 --- a/tableview/src/main/java/com/evrencoskun/tableview/ITableView.java +++ b/tableview/src/main/java/com/evrencoskun/tableview/ITableView.java @@ -27,6 +27,7 @@ import com.evrencoskun.tableview.filter.Filter; import com.evrencoskun.tableview.handler.ColumnSortHandler; import com.evrencoskun.tableview.handler.FilterHandler; +import com.evrencoskun.tableview.handler.ScrollHandler; import com.evrencoskun.tableview.handler.SelectionHandler; import com.evrencoskun.tableview.layoutmanager.CellLayoutManager; import com.evrencoskun.tableview.layoutmanager.ColumnHeaderLayoutManager; @@ -144,5 +145,5 @@ public interface ITableView { * * @return The ScrollHandler of the TableView. */ - ScrollHandler getScrollHandler() + ScrollHandler getScrollHandler(); }