[英]flex tree itemclick event, doesn't work
我正在創建一個可重用的flex樹組件。 我想堅持使用itemclick函數。 這樣,當用戶單擊樹的一個分支上的任意位置時。 分支擴展。 我的問題是我不知道如何啟動監聽器功能。 我想做的是完全在as3中創建樹。 (沒有mxml)。 通常,我在mxml中將itemClick設置在樹上。 但是我想在as3中做到這一點。 我的組件中有很多功能,但是我已經刪除了它們,以便於閱讀。
誰能幫我解決這個問題? 我想如果我重寫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);
}
}
}
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");
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.