如何訪問List itemRenderer及其屬性(Spark-Flex 4)? 我想通過列表進行迭代,並這樣做(注意這是僞代碼):訪問列表itemRenderer
for (var i=0;i<NUMBER_OF_ITEMS_IN_LIST; i++){
myList.getItemRenderer[i].property
}
如何訪問List itemRenderer及其屬性(Spark-Flex 4)? 我想通過列表進行迭代,並這樣做(注意這是僞代碼):訪問列表itemRenderer
for (var i=0;i<NUMBER_OF_ITEMS_IN_LIST; i++){
myList.getItemRenderer[i].property
}
你想要什麼類型的處理對渲染執行?我懷疑像這樣的循環不會給你你需要的東西。
渲染器僅適用於您在屏幕上看到的元素。 dataProvider中的每個項目都不會有渲染器。這是爲了解決性能問題。您應該能夠通過API中的某些屬性訪問列表渲染器,但它可能不是公開的或記錄的。我迅速看了一眼,看不清楚。
在Halo ListBase中,存在名爲reservedItemRenderers和freeItemRenderers屬性的受保護屬性。我假設它們必須是Spark List中類似的東西。
對Spark中的ItemRenderer進行迭代很容易。 只是循環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;
}
}
你是對的,renderers只是爲了明顯的項目,我不能做我想做的。做我想做的事情的唯一方法是訪問list的數據提供者而不是itemrenderer。 – dede 2010-06-15 23:29:22