0
我创建了一个可重用的flex树组件。我想坚持itemclick函数。因此,当用户点击树分支中的任何一处时。分支机构扩大。 我的问题是我不知道如何让侦听器函数触发。 我想要做的是完全在as3中创建树。 (没有mxml)。 通常我在mxml中设置itemClick树。但我想在as3中这样做。 我的组件有更多的功能,但我已经删除它们,以便它更容易阅读。flex树itemclick事件,不起作用
任何人都可以帮我解决这个问题吗?我想如果我重写createChilderen函数并添加eventlistener在那里,它会工作。但没有运气。
这是我的代码;
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);
}
}
}
谢谢你,你的男人马克西姆。 – 2010-10-20 07:38:15