2016-03-21 15 views
0

Ich habe ein kleines Modul, um Ordnerstruktur in Android aufzulisten. Wenn der Benutzer auf einen Knoten klickt (dieser Knoten besteht aus einer Sammlung von Symbolen, dh einem Ordnersymbol, Pfeilsymbolen usw.), listet er die Unterordner in diesem ausgewählten Ordner auf. Jetzt möchte ich die Unterordner des Stammordners ganz am Anfang anzeigen. Bestehende zeigt nur den Stammordner. Ich kann das leicht tun, wenn ich den Klick-Listener des Knotenelements ganz zu Beginn aufrufen kann. Wie kann ich es tun.Klicken Sie auf das Ereignis, ohne auf Android zu klicken. Listview

public static void callFolderSection(Context context,int mailBox,Fragment fragment) 
{ 
    AndroidTreeView tView; 
    //selectedMailBox = mailBox; 
    final Dialog dialog = new Dialog(context); 
    dashContext = context; 
    fragmentName = fragment; 
    selectedMailBox = mailBox; 

    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); 
    dialog.setContentView(R.layout.layout_default); 
    ((DashboardActivity) context).dialogFolder = dialog; 
    ViewGroup containerView = (ViewGroup) dialog.findViewById(R.id.container); 

    MailServices mailServices = new MailServices(); 
    ArrayList<FolderSection> folderSectionList ; 
    folderSectionList = mailServices.listFoldersAndSections("0",mailBox); 

// Holen der Stammordner

TreeNode root = TreeNode.root(); 
    TreeNode computerRoot = new TreeNode(new IconTreeItemHolder.IconTreeItem(GlobalVariables.getGsLoginProjectNo(),"0","0",fragment,0,0,folderSectionList.get(0).get_childCount())); 
    for (int count = 0;count < folderSectionList.size();count++) 
    { 
     TreeNode treeNode = new TreeNode(new IconTreeItemHolder.IconTreeItem(folderSectionList.get(count).get_title(),Integer.toString(folderSectionList.get(count).get_int_Key()),Integer.toString(folderSectionList.get(count).get_int_parent()),fragmentName,folderSectionList.get(count).get_isSmartSection(),folderSectionList.get(count).get_itemCount(),folderSectionList.get(count).get_childCount())); 
     computerRoot.addChildren(treeNode); 
    } 

    root.addChildren(computerRoot); 

    tView = new AndroidTreeView(context, root); 
    tView.setDefaultAnimation(true); 
    tView.setDefaultContainerStyle(R.style.TreeNodeStyleCustom); 
    tView.setDefaultViewHolder(IconTreeItemHolder.class); 

// der Hörer

klicken Set
tView.setDefaultNodeClickListener(nodeClickListener); 

    containerView.addView(tView.getView()); 

    Window window = dialog.getWindow(); 
    if (GlobalVariables.getGsDevice().equals("tab")) { 


    dialog.show(); 

} 

// Klicken Zuhörer

private static TreeNode.TreeNodeClickListener nodeClickListener = new TreeNode.TreeNodeClickListener() { 
    @Override 
    public void onClick(TreeNode node, Object value) { 
     IconTreeItemHolder.IconTreeItem item = (IconTreeItemHolder.IconTreeItem) value; 
     ((DashboardActivity) dashContext).folderIntKey = Integer.parseInt(item.int_Key); 

     MailServices mailServices = new MailServices(); 
     DocumentServices documentServices = new DocumentServices(); 

     try { 


      if (Integer.parseInt(item.int_Key) != 0) { 
       if (node.getChildren().size() == 0) { 

        ArrayList<FolderSection> folderSectionList; 
        if(((DashboardActivity) dashContext).isFolderDoc) 
        { 
         folderSectionList = documentServices.listFoldersAndSections(item.int_Key); 

        } 
        else 
        { 
         folderSectionList = mailServices.listFoldersAndSections(item.int_Key, selectedMailBox); 

        } 

        for (int count = 0; count < folderSectionList.size(); count++) { 
         TreeNode treeNode = new TreeNode(new IconTreeItemHolder.IconTreeItem(folderSectionList.get(count).get_title(), Integer.toString(folderSectionList.get(count).get_int_Key()), Integer.toString(folderSectionList.get(count).get_int_parent()), fragmentName,folderSectionList.get(count).get_isSmartSection(),folderSectionList.get(count).get_itemCount(),folderSectionList.get(count).get_childCount())); 
         node.addChildren(treeNode); 
        } 
       } 
      } 
     } 
     catch (Exception ex) 
     { 

     } 

    } 
}; 

EDIT: Edited der Code-Snipets, um auf eine zweckmäßige Weise zu arbeiten.

Antwort

0

dieses

nodeClickListener.onClick(node,value); 

Knoten Versuchen = Der Knoten, den Sie möchten.
Wert = Der Wert, den es hat.

EDIT: las ich den Code der Bibliothek und vielleicht können Sie

expandNode(TreeNode node) 
+0

expandNode (TreeNode-Knoten) funktioniert. Vielen Dank. –

0

Verwenden Perform() Methode verwenden.

Wie Sie Root-Ansicht haben.

Verwandte Themen