GWT TreeViewModel无法按预期工作

时间:2016-01-07 14:30:53

标签: java gwt

我正在尝试在GWT中创建一个CellTree,但由于某种原因,TreeViewModel无法正常工作

public class ChannelViewModel implements TreeViewModel {

  @Override
  public <T> NodeInfo<?> getNodeInfo(T value) {

    if(value == null)
    {
        Window.alert("NODE 0");
        return new DefaultNodeInfo<ChannelRepresentation>(new ChannelAsyncDataProvider(), new ChannelCell() );

    } else if(value instanceof ChannelRepresentation)
    {
        Window.alert("NODE 1");
        ChannelRepresentation feedChannel = (ChannelRepresentation) value ;
        return new DefaultNodeInfo<EntryRepresentation>( new EntryAsyncDataProvider( feedChannel.getChannelURI() ), new FeedEntryCell() );
    }
    Window.alert("Undefined Value");
    return null;
  }

  @Override
  public boolean isLeaf(Object value) {
    if(value instanceof EntryRepresentation)
    {
        Window.alert("isLeaf: True");
        return true;
    }
    Window.alert("isLeaf: False");
    return false;
  }
}

是什么让我觉得TreeViewModel类中的问题是如果我使方法isLeaf()总是返回false,它开始渲染节点以进行条目表示。

此外,我分别测试了数据提供程序,它们工作正常,对我来说问题似乎在TreeViewModel中。如果我使用GWT的任何一个例子它完美地工作,我想我已经尝试了一切来解决这个问题,所以任何帮助都将受到高度赞赏

编辑: 这是我的onModuleLoad()方法,如果它提供了什么

    public void onModuleLoad() {

    ChannelViewModel model = new ChannelViewModel();
    CellTree tree = new CellTree(model, null);

    RootLayoutPanel.get().add(tree);
}

1 个答案:

答案 0 :(得分:0)

我认为你的问题与这句话有关:

CellTree tree = new CellTree(model, null);

第二个参数不应该为空!