2009-11-10 37 views
0

我有一个Flex应用程序,它引用一个单独的MXML文件作为自定义组件的模板。我在我的程序中动态地多次创建组件的实例,但是我需要获得一个能够让我根据需要修改组件实例的句柄。获取动态生成的Flex组件的句柄

我使用组件的MXML文件中的可绑定公共变量实例化特定信息。我使用addChild()将其添加到我的主程序中。

我想根据需要更新组件的进度条,并且我想将其从addChild'd它的框中移除。

获取一个变量的最简单/最好的方法是什么,它将使我能够对每个组件进行可预测的访问,从而可以根据需要轻松地操作组件?一些研究表明creationComplete,但我认为只是要求比通过大量不同的实验并且空白来得快。

感谢您的帮助。 :)

回答

2

你不能只保留一个数组中的组件列表吗?假设你在创建它们时有一个对象引用,并在其父代上调用addChild()。为什么不把它们放在同一个数组中?

var list_of_controls:Array = new Array(); 
var new_Object:<yourType>; 

new_Object = new <yourType>(); 
parent.addChild(new_Object); 
list_of_controls.push(new_Object); 

,那么你可以在他们那里得到......

var my_Object:<yourType>; 
for each (my_Object in list_of_controls) 
{ 
    // do something 
} 

你必须确保你正确地处理它们时,你就大功告成了,因为你的数组中的引用将让他们存在下去,直到清除。

如果您决定使用getChildren()代替 - 您可以 - 花时间阅读文档,因为我认为每次调用都会返回一个新数组。

我希望有帮助。