如何访问List itemRenderer及其属性(Spark-Flex 4)? 我想迭代列表并执行类似的操作(注意它的伪代码):
for (var i=0;i<NUMBER_OF_ITEMS_IN_LIST; i++){
myList.getItemRenderer[i].property
}
答案 0 :(得分:4)
迭代Spark中的ItemRenderers很容易。 只需循环遍历list.dataGroup中的元素,就可以了。
if (list && list.dataGroup) {
var i:int, numItems:int = list.dataGroup.numElements;
for(i= 0;i < numItems; i++){
var itemRendererItem:IItemRenderer = list.dataGroup.getElementAt(i) as IItemRenderer;
}
}
答案 1 :(得分:3)
您想对渲染器执行哪种处理?我怀疑这样的循环不会给你你需要的东西。
仅为您在屏幕上看到的元素创建渲染器。 dataProvider中的每个项目都没有渲染器。这样做是为了解决性能问题。您应该能够通过API中的某些属性访问List渲染器,但它可能不公开或记录。我快速看了一下,说不出来。
在Halo ListBase中,有一些名为reservedItemRenderers和freeItemRenderers属性的受保护属性。我认为它们必须在Spark列表中类似。