2013-08-01 52 views
1

我現在在黑莓手機中使用TreeField繪製了一個樹形結構。根節點由15個節點組成,每個節點都有其對應的子節點,並且在運行應用程序時,所有節點都會擴展。我只需要一個特定的節點進行擴展,所有其他節點都會崩潰。使用TreeField,在黑莓中展開或摺疊一棵樹?

我已經嘗試從apis使用以下方法。

myTree.setDefaultExpanded(false); 

myTree.setExpanded(1, true); 

,但似乎並沒有產生任何影響,到目前爲止在樹上。所有節點在啓動應用程序時都會擴展。

回答

2

如果你看一下TreeField的文件,你會看到setDefaultExpanded()必須叫你添加節點之前,顯示不只是才:

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