我想在每个循环中为我创建的所有元素添加一个eventlistener。 但是看起来eventlistener只适用于最新创建的元素。
如何为每个循环中创建的每个元素添加一个事件侦听器?
这是我的代码:
for each(var showCase:ShowCaseItem in _bllShowCase.arrShowCase)
{
var listItem:ListItemShowCase = new ListItemShowCase(showCase);
listItem.y = yPos;
listItem.addEventListener("ITEMDELETED", refreshShowCaseItems);
this.addChild(listItem);
yPos += 20;
}
我希望你理解我的问题。
谢谢,文森特
答案 0 :(得分:0)
此代码没有任何功能上的错误。它应该工作。
问题可能在于其他地方。
显示列表将保存对每个对象的引用,因此GC不应清除任何侦听器,但您可以尝试将每个对象缓存到数组中。这样您就可以确定对此代码块之外的每个对象都有引用。
private var _list:Array = new Array();
for each( var item:Object in list )
{
_list.push( listItem );
}