You are invoking dataProvider.addDataDisplay(cellTable);
on every invocation of the update(List<UserData> data)
. addDataDisplay needs to be invoked only once per view.
If You have multiple views, the mvp way is
View 1 -> cellTable
View 2 -> cellTree
Presenter -> dataProvider
dataProvider.addDataDisplay(cellTable)
dataProvider.addDataDisplay(cellTree)
Solution
Move dataProvider.addDataDisplay
into your constructor or lazy initialize it in update(List<UserData> data);
boolean initialized = false;
public void update(List<UserData> data){
dataProvider.getList().clear();
if(!initialized) {
dataProvider.addDataDisplay(cellTable);
initialized = true;
}
List<UserData> dataList=dataProvider.getList();
for (UserData rtaData : data) {
dataList.add(rtaData);
}
}