Sorted this one out:
I used the function pace() on the creationComplete event, i added the pace function also to the dataChange event and now it works!!!
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" creationComplete="pace();" dataChange="pace();" height="94">
It seems that the ItemRenderer gets somehow redrawn when you scroll to a different pos in the list, if anyone has a good explanation for this... im dying to know!
For performance reasons, the list reuses item renderers when you scroll.
Item renderers that have scrolled off the top of the list are reused for
items that have scrolled in the bottom of the list. So you should expect
the data property of an item renderer to change. You need to update the
state of your renderer whenever the data changes. In your original
example you were setting up the renderer once at creationComplete,
rather than whenever the data property changed. The usual approach for
updating the renderer when the data changes is to trigger updates in the
renderer's set data() function, but listening for a dataChange event
will also work.
Thanks! I will look an example using like the data() function. I had seen a similiar behavior when using Objective-C/Cocoa Touch when using tables, but i had no idea it was similar here in Flex (which is good because using UITable can get very complex in Cocoa and you get the same eficiency in flex ).
So thanks again!
Could you post your code for the pace() function? I am having this same issue. Thanks
Actually it is already there in my first post. If you have any more questions let me know, perhaps i can help you sort it out.