I could really do with some help on this one.
I have a screen (State) in my application that displays some custom mxml
components using a repeater. The first time I come to this screen, all the
data appears correctly. However if I navigate away from this screen to
another screen (State), then return to it, all that appears is a scroll bar,
with no custom components appearing.
I would appreciate if anyone can take a peek at my code below to try and
identify the problem. Perhaps this is a problem others have experienced?
The relevant code is as follows:
<mx:State name="ComponentFolderScreen" basedOn="QualificationSummaryScreen">
<mx:RemoveChild target="{qualificationSummaryScreenDG}"/>
<mx:AddChild relativeTo="{vbox1}" position="lastChild">
<mx:Tile autoLayout="true" width="740" height="230"
id="tile1" borderStyle="none">
<mx:Repeater id="productsRepeater"
dataProvider="{this.category1}" >
<local:ComFolderItem
mouseOver="CFSMouseOver_Folder(event)" click="CFSClick_Folder(event)"
studentName='{productsRepeater.currentItem.productName + "(" +
productsRepeater.currentItem.productPrice + ")"}'
componentStatus='{productsRepeater.currentItem.componentStatus}' >
</local:ComFolderItem>
</mx:Repeater>
</mx:Tile>
</mx:AddChild>
</mx:State>
And here is the code that populates the ArrayCollection that is the
dataprovider
var ComponentFolderData:ArrayCollection = new ArrayCollection();
ComponentFolderData = _dataManager.returnComponentFolderData(componentCode);
var howManyObjects:uint = ComponentFolderData.length;
var objectInstance:Object = new Object();
category1 = new ArrayCollection();
for (var objectIndex:uint = 0; objectIndex < howManyObjects; objectIndex++)
{
objectInstance.productName =
ComponentFolderData.getItemAt(objectIndex).productName;
objectInstance.componentStatus =
ComponentFolderData.getItemAt(objectIndex).componentStatus;
category1.addItem(objectInstance);