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 SettView.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.
expandNode (TreeNode-Knoten) funktioniert. Vielen Dank. –