使用TreeField,在Blackberry中展开或折叠树?

时间:2013-08-01 10:52:40

标签: blackberry tree expand collapse treefield

我现在在Blackberry中使用TreeField绘制了一个树结构。根节点由15个节点组成,每个节点都有相应的子节点,在运行应用程序时,所有节点都是扩展的。我只需要扩展一个特定节点,而其他所有节点都要折叠。

我尝试过使用apis中的以下方法。

myTree.setDefaultExpanded(false);

myTree.setExpanded(1, true);

但到目前为止在树上似乎没有任何效果。所有节点在启动应用程序时都会进行扩展。

1 个答案:

答案 0 :(得分:2)

如果您查看TreeField的文档,您会看到setDefaultExpanded()必须在添加节点之前之前调用,而不是在显示之前:< / p>

  

setDefaultExpanded

public void setDefaultExpanded(boolean expanded)
     

为将来的节点分配设置默认扩展状态。

所以,要修改TreeField example,你可以这样做:

   public TreeFieldDemoScreen()
   {             
      setTitle("Tree Field Demo");

      String fieldOne =  new String("Parent folder 1");
      String fieldTwo =  new String("Parent folder 2");
      String fieldThree =  new String("Sub-folder 1");
      String fieldFour =  new String("Sub-folder 2");

      TreeCallback myCallback = new TreeCallback();
      TreeField myTree = new TreeField(myCallback, Field.FOCUSABLE);
      myTree.setDefaultExpanded(false);

      int node1 = myTree.addChildNode(0, fieldOne);
      int node2 = myTree.addChildNode(0, fieldTwo);
      int node3 = myTree.addChildNode(node2, fieldThree);
      int node4 = myTree.addChildNode(node3, fieldFour);

      add(myTree);
   }