编辑:这似乎是
a bug
.
我正在努力使CellTable与
异步列表视图适配器
<t>和simplepager<t>。数据会被显示出来,但是当寻呼机应该是“聋的”(意味着当所有现有数据都显示出来时),它仍然会收到点击,更重要的是,会使显示的数据消失。而不是我的数据“加载”指示器会被显示,它会继续加载和加载…显然没有加载任何内容,因为它甚至不调用onRangeChanged处理程序。
我在
this thread
但我对我所做的一切没有任何怀疑。
对新手的错误有什么明显的答案吗?
我缩小了变量名,希望它不会包装太多。
protected class MyAsyncAdapter
extends AsyncListViewAdapter<DTO> {
@Override
protected void onRangeChanged(ListView<DTO> v) {
Range r = v.getRange();
fetchData(r.getStart(), r.getLength());
}
}
private void addTable() {
CellTable<DTO> table = new CellTable<DTO>(10);
table.addColumn(new Column<DTO, String>(new TextCell()) {
@Override
public String getValue(DTO myDto) {
return myDto.getName();
}
}, "Name");
SimplePager<DTO> pager = new SimplePager<DTO>(table);
table.setPager(pager);
adapter = new MyAsyncAdapter();
adapter.addView(table);
VerticalPanel vPanel = new VerticalPanel();
vPanel.add(table);
vPanel.add(pager);
RootLayoutPanel.get().add(vPanel);
}
@Override
public void onSuccess(List<DTO> data) {
adapter.updateViewData(start, data.size(), data);
if(data.size() < length)
adapter.updateDataSize(start + data.size(), true);
}
当做
J.Z·Z·鲁巴