有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

未调用CellList render()中的java GWT自定义单元格

我很难弄清楚为什么没有调用我的render方法。这是我的自定义单元格,它扩展了AbstractCell,分解为最简单的形式

public class FormHistoryCell<T> extends AbstractCell<T> {

@Override
public void render(com.google.gwt.cell.client.Cell.Context context, T value, SafeHtmlBuilder sb) {

    System.out.println("Rendering customer cell...");

    if (value == null) {
        return;
    }
}

}

下面是我代码中的snipet,它创建了一个“FormHistoryCell”实例,并试图将其添加到单元格列表中

@UiFactory
CellList<FormHistoryCell> initList() {
    FormHistoryCell formHistoryCell = new FormHistoryCell();
    CellList historyList = new CellList<FormHistoryCell>(formHistoryCell);

    return historyList;
}

我尝试过不同的方法,比如添加一个接受字符串参数的构造函数,等等。调用了构造函数,但没有调用render方法。查看它扩展的抽象类,似乎render方法是在“setValue”方法中调用的,但没有看到在其他自定义单元扩展中调用该方法的位置,这些自定义单元扩展的render方法似乎得到了很好的调用。我肯定我错过了一些明显的东西,但我不知道是什么。请帮忙


共 (1) 个答案

  1. # 1 楼答案

    根据您提供的代码,浏览器没有理由调用单元格的render方法。您只需将对对象FormHistoryCell的引用传递到CellList。只有当浏览器必须显示单元格及其内容时,才需要render方法。正如@outellou所建议的,当你向手机列表中添加数据时,就会发生这种情况