我理解它的方式是,如果我想将小部件动态添加到使用 UIBinder 创建的视图中,我会在作为该视图的演示者的活动的 start 方法中执行此操作。
这是我的代码:
@Override
public void start(AcceptsOneWidget panel, EventBus eventBus) {
view = clientFactory.getDashboardView();
view.setPresenter(this);
ArrayList<Department> deps = ModelFactory.getDepartments();
view.passData(deps); // Correct?
panel.setWidget(view.asWidget());
}
public void passData(ArrayList<Department> departments) {
TextCell text = new TextCell();
CellList<String> cellList = new CellList<String>(text);
String[] departmentNames = new String[departments.size()];
for (int i = 0; i < departments.size(); i++) {
departmentNames[i] = departments.get(i).getName();
}
cellList.setRowData(Arrays.asList(departmentNames));
departmentsDiv.add(cellList);
}
有用。但是,当使用后退按钮导航到上一个位置并返回时,会再次添加小部件。
我该如何正确处理?