1

TreeField現在、Blackberryを使用してツリー構造を描画しています。ルート ノードは 15 個のノードで構成され、各ノードには対応する子ノードがあり、アプリケーションを実行すると、すべてのノードが展開されます。特定のノードのみを展開し、他のすべてを折りたたむ必要があります。

apis の次のメソッドを使用してみました。

myTree.setDefaultExpanded(false);

myTree.setExpanded(1, true);

しかし、これまでのところ、ツリーには何の影響もないようです。アプリケーションを起動すると、すべてのノードが展開されます。

4

1 に答える 1

2

TreeFieldのドキュメントを見ると、ノードが表示される直前ではなく、ノードを追加するsetDefaultExpanded()に呼び出す必要があることがわかります。

setDefaultExpanded

public void setDefaultExpanded(boolean expanded)

      将来のノード割り当てのデフォルトの拡張状態を設定します。

したがって、TreeField の例を変更するには、次のようにします。

   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);
   }

 
于 2013-08-02T02:20:27.357 に答える