Get the cell value on ITableViewListener
alasari opened this issue · 3 comments
alasari commented
how to get value from cell when clicked..?
evrencoskun commented
Hi @alasari ,
There are several ways to get data on ITableViewListener
- Get data from ViewHolder
@Override
public void onCellClicked(@NonNull RecyclerView.ViewHolder cellView, int column, int
row) {
if(cellView instanceof CellViewHolder){
String strData = ((CellViewHolder)cellView).cell_textview.getText();
}
}
or if you set cell data for each view holder which I don't recommend it because of the memory issue, you can also get cell model like this;
public class CellViewHolder extends AbstractViewHolder {
public final TextView cell_textview;
public final LinearLayout cell_container;
public CellModel mCellModel;
public CellViewHolder(View itemView) {
super(itemView);
cell_textview = itemView.findViewById(R.id.cell_data);
cell_container = itemView.findViewById(R.id.cell_container);
}
public void setCellModel(CellModel cellModel, int column) {
mCellModel = cellModel
...
}
}
and at your ITableViewListener
@Override
public void onCellClicked(@NonNull RecyclerView.ViewHolder cellView, int column, int
row) {
if(cellView instanceof CellViewHolder){
CellModel cellModel = ((CellViewHolder)cellView).mCellModel;
}
}
- Get the cell model data from TableViewAdapter (Recommended)
@Override
public void onCellClicked(@NonNull RecyclerView.ViewHolder cellView, int column, int
row) {
// Get cell model from adapter
MyCellModel model = myTableViewAdapter.getCellItem(column, row);
}
}
alasari commented
hi @evrencoskun , i will try it, but thanks for your answer
alasari commented
great thanks @evrencoskun , I solved by first option