2010-10-19 7 views
0

Je crée un composant flex tree réutilisable. Et je voudrais coller dans la fonction itemclick. Alors que lorsqu'un utilisateur clique n'importe où sur l'une des branches de l'arbre. la branche se développe. Mon problème est que je ne sais pas comment faire fonctionner la fonction d'écoute. Ce que je voudrais faire est de créer complètement l'arbre en as3. (pas de mxml). Normalement, je définis l'itemClick sur l'arbre dans le mxml. mais je veux le faire en as3. Mon composant a beaucoup plus de fonctions, mais je les ai supprimées pour qu'il soit plus facile à lire.Evénement flex tree itemclick, ne fonctionne pas

Quelqu'un peut-il m'aider sur celui-ci? Je pensais que si je surchargeais la fonction createChilderen et que j'ajoutais l'eventlistener, cela fonctionnerait. Mais pas de chance.

ceci est mon code;

package 
{ 

    import mx.controls.Tree; 
    import mx.controls.listClasses.IListItemRenderer; 
    import mx.events.ItemClickEvent; 
    import mx.events.ListEvent; 

    public class MyTree extends Tree 
    { 


     public function MyTree() 
     { 
      super(); 

     } 

     private function tree_itemClick(evt:ListEvent):void { 
      var item:Object = Tree(evt.currentTarget).selectedItem; 
      if (dataDescriptor.isBranch(item)) { 
       expandItem(item, !isItemOpen(item), true); 
      } 
     } 

     override protected function createChildren():void{ 
      super.createChildren(); 
      addEventListener(ListEvent.ITEM_CLICK, tree_itemClick, true); 
     } 

    } 
} 

Répondre

2
package 
{ 
import mx.controls.Tree; 
import mx.events.ListEvent; 

public class MyTree extends Tree 
{ 
    public function MyTree() 
    { 
     super(); 

     addEventListener(ListEvent.ITEM_CLICK, itemClickHandler); 
    } 

    private function itemClickHandler(event:ListEvent):void 
    { 
     trace("Success"); 
    } 

} 
} 
+0

Merci, votre homme Maxim. –

Questions connexes