Skip to content

Commit 9d48d6b

Browse files
committed
New 0.8.2 version has been published. BugFix: for row selection. NewFeature: setHasFixedSize function has been inserted on TableView. NewFeature: TableView can be created on xml side as well.
1 parent 7f8155b commit 9d48d6b

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

tableview/src/main/java/com/evrencoskun/tableview/adapter/recyclerview/CellRecyclerViewAdapter.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType
6363

6464

6565
if (iTableView != null) {
66+
// To get better performance for fixed size TableView
67+
jRecyclerView.setHasFixedSize(iTableView.hasFixedWidth());
68+
6669
// set touch m_iHorizontalListener to scroll synchronously
6770
if (m_iHorizontalListener == null) {
6871
m_iHorizontalListener = iTableView.getHorizontalRecyclerViewListener();
@@ -123,18 +126,22 @@ public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) {
123126

124127
SelectionHandler selectionHandler = m_iTableAdapter.getTableView().getSelectionHandler();
125128

126-
int nXPosition = selectionHandler.getSelectedColumnPosition();
127-
if (nXPosition != SelectionHandler.UNSELECTED_POSITION && selectionHandler
128-
.getSelectedRowPosition() == SelectionHandler.UNSELECTED_POSITION) {
129+
if (selectionHandler.isAnyColumnSelected()) {
130+
129131
AbstractViewHolder cellViewHolder = (AbstractViewHolder) ((CellRowViewHolder) holder)
130-
.m_jRecyclerView.findViewHolderForAdapterPosition(nXPosition);
132+
.m_jRecyclerView.findViewHolderForAdapterPosition(selectionHandler
133+
.getSelectedColumnPosition());
131134

132135
if (cellViewHolder != null) {
133136
cellViewHolder.setBackgroundColor(m_iTableAdapter.getTableView().getSelectedColor
134137
());
135138
cellViewHolder.setSelected(true);
136139

137140
}
141+
} else if (selectionHandler.isRowSelected(holder.getAdapterPosition())) {
142+
143+
viewHolder.m_jRecyclerView.setSelected(true, m_iTableAdapter.getTableView()
144+
.getSelectedColor());
138145
}
139146

140147
}
@@ -151,6 +158,7 @@ public void onViewDetachedFromWindow(RecyclerView.ViewHolder holder) {
151158
@Override
152159
public void onViewRecycled(RecyclerView.ViewHolder holder) {
153160
super.onViewRecycled(holder);
161+
154162
CellRowViewHolder viewHolder = (CellRowViewHolder) holder;
155163
// ScrolledX should be cleared at that time. Because we need to prepare each
156164
// recyclerView

0 commit comments

Comments
 (0)