I am trying to change the layout in every CellViewHolder when clicking on the ColumnViewHolder. For some reason , in some cases the CellViewHolder is null and shouldn't be .
If I put a null check , in some cases there are 3 holders null , sometimes more.
Here is my code :
@Override
public void onColumnHeaderClicked(@NonNull RecyclerView.ViewHolder columnHeaderView, int
column) {
//ask user if he wants to remove all dates from this
ColumnHeaderViewHolder columnHeaderHolder = (ColumnHeaderViewHolder)
mTableView.getColumnHeaderLayoutManager().getViewHolder(column);
//int rows = mTableView.getAdapter().getRowHeaderRecyclerViewAdapter().getItemCount();
Log.e("Column items size",mTableView.getAdapter().getCellColumnItems(column).size()+"");
int rows = mTableView.getAdapter().getCellColumnItems(column).size();
if(columnHeaderHolder.getSelected())
{
columnHeaderHolder.selectionImage.setImageDrawable(ContextCompat.getDrawable(columnHeaderHolder.getContext(),R.drawable.ic_trip_unselected));
columnHeaderHolder.setSelected(false);
for(Object c : mTableView.getAdapter().getCellColumnItems(column))
{
((Cell) c).setSelected(false);
}
for(int rowNbr=0;rowNbr<rows;rowNbr++)
{
CellViewHolder cellHolder = (CellViewHolder) mTableView.getCellLayoutManager().getCellViewHolder(column,rowNbr);
cellHolder.cellText.setTextColor(ContextCompat.getColor(mContext,R.color.dark_gray)); //cellText here is null in random cases .
cellHolder.image.setColorFilter(ContextCompat.getColor(mContext,R.color.dark_gray));
}
}else
{
columnHeaderHolder.selectionImage.setImageDrawable(ContextCompat.getDrawable(columnHeaderHolder.getContext(),R.drawable.ic_trip_selected));
columnHeaderHolder.setSelected(true);
for(Object c : mTableView.getAdapter().getCellColumnItems(column))
{
((Cell) c).setSelected(true);
}
for(int rowNbr=0;rowNbr<rows;rowNbr++)
{
CellViewHolder cellHolder = (CellViewHolder) mTableView.getCellLayoutManager().getCellViewHolder(column,rowNbr);
cellHolder.cellText.setTextColor(ContextCompat.getColor(mContext,R.color.dark_gray));
cellHolder.image.setColorFilter(ContextCompat.getColor(mContext,R.color.dark_gray));
}
}
Hi @evrencoskun
I am trying to change the layout in every CellViewHolder when clicking on the ColumnViewHolder. For some reason , in some cases the CellViewHolder is null and shouldn't be .
If I put a null check , in some cases there are 3 holders null , sometimes more.
Here is my code :