使用上述选项,您需要通过循环遍历数据数组集合并将类型设置为另一个状态名称来调整所有数据。
也许更好的解决方案是循环遍历列表的所有项目并更改状态;
private function changeItemrendererState():void
{
var item:mycustomitemrenderer;
for(var i:uint = 0; i < itemlist.numElements; i++)
{
item = itemlist.getElementAt(i) as mycustomitemrenderer;
item.currentState = "mynewstate";
}
}
<s:Scroller focusEnabled="false" hasFocusableChildren="true">
<s:DataGroup dataProvider="{mydata}" itemRenderer="skins.mycustomitemrenderer" width="100%" height="100%" id="itemlist">
<s:layout>
<s:TileLayout horizontalGap="2" verticalGap="2" columnAlign="justifyUsingWidth"/>
</s:layout>
</s:DataGroup>
</s:Scroller>
如果您使用 useVirtualLayout="true" 这将不起作用,那么它只会影响可见项目。