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