删除数据时报索引越界
添加删除列,点击该列时,如果是最后一行可以正常删除,如果不是最后一行,则数据删除后,没有更新colum的datas,然后遍历时引发索引越界 ,代码如下,尝试手动删除也不行。
List<TurnIn> src = data_table.getTableData().getT();
src.remove(position);
data_table.getTableData().setT(src);
table_columns.forEach(col -> {
col.getDatas().remove(position);
});
data_table.notifyDataChanged();
添加删除列,点击该列时,如果是最后一行可以正常删除,如果不是最后一行,则数据删除后,没有更新colum的datas,然后遍历时引发索引越界 ,代码如下,尝试手动删除也不行。
List<TurnIn> src = data_table.getTableData().getT(); src.remove(position); data_table.getTableData().setT(src); table_columns.forEach(col -> { col.getDatas().remove(position); }); data_table.notifyDataChanged();
我试了 你的这个问题用data_table.invalidate()就能解决了 而我的问题是不remove,只修改其中一个类的属性,这个方法无效,不知道什么原因,郁闷。
不要用notifyDataChanged()
。。神奇。 这方法不就是用来更新的吗
不要用notifyDataChanged()
一样的崩溃
getBinding().tableview.notifyDataChanged();
getBinding().tableview.invalidate();
这样虽然可以,但是高度问题。。
用这个SmartTable.getTableData().getT().remove 动态删除某一行数据,表格没变化,删除最后一行直接报 : java.lang.IndexOutOfBoundsException: Index: 4, Size: 0
mSmartTable.notifyDataChanged(); mSmartTable.invalidate();