【发布时间】:2010-10-19 12:47:55
【问题描述】:
我正在创建一个可重用的弹性树组件。我想坚持使用 itemclick 功能。这样当用户单击树的一个分支上的任意位置时。分支扩大。 我的问题是我不知道如何让监听器函数触发。 我想做的是完全在 as3 中创建树。 (没有 mxml)。 通常我在 mxml 中的树上设置 itemClick。但我想在 as3 中执行此操作。 我的组件中有更多功能,但我已将其删除,以便更易于阅读。
谁能帮我解决这个问题?我想如果我重写 createChilderen 函数并在其中添加事件监听器,它会起作用。但没有运气。
这是我的代码;
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);
}
}
}
【问题讨论】:
标签: apache-flex actionscript-3 flex3 tree flex4