访问列表中的itemRenderer
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问列表中的itemRenderer相关的知识,希望对你有一定的参考价值。
如何访问列表itemRenderer及其属性(Spark-Flex 4)?我想遍历列表并做类似的事情(注意它是伪代码):
for (var i=0;i<NUMBER_OF_ITEMS_IN_LIST; i++){
myList.getItemRenderer[i].property
}
答案
您要在渲染器上执行哪种类型的处理?我怀疑这样的循环不会满足您的需求。
仅针对您在屏幕上看到的元素创建渲染器。 dataProvider中的每个项目都不会有一个渲染器。这样做是为了解决性能问题。您应该能够通过API中的某些属性访问“列表”渲染器,但是它可能不是公开的,也没有记录在案。我快速看了一眼,无法分辨。
在Halo ListBase中,有一些受保护的属性,分别称为reservedItemRenderers和freeItemRenderers属性。我认为它们在Spark List中必须类似。
另一答案
迭代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;
}
}
以上是关于访问列表中的itemRenderer的主要内容,如果未能解决你的问题,请参考以下文章
Flex:当自定义 itemrenderers 中的文本更改时,强制重绘 DataGrid