I had a similar predicament recently...

In my renderer code, I setup a listener to respond to external data changes.  
In my case, I just needed to call invalidateDisplayList but you could reset 
your sizes/etc. based upon the new data.

                        
ReportHorizontalList(this.parent.parent).dataProvider.addEventListener(CollectionEvent.COLLECTION_CHANGE,
 outsideCollectionChanged);    

private function outsideCollectionChanged(evt:CollectionEvent):void{
    invalidateDisplayList();
}



--- In [email protected], "mattgarland2000" <al...@...> wrote:
>
> I am using a horizontallist as an answer bar in an e-learning app. The 
> designer wants the answer boxes to stretch according to content (all should 
> have the same size, and there is a minimum).
> 
> This works fine when the dataProvider is set. BUT there is another 
> requirement: after a wrong answer is clicked, there is feedback and the 
> answers are scrambled. 
> 
>                       protected function tryAgain(event:Event):void
>                       {
>                               
> answers=CollectionUtils.noRepeatRandomizeXMLList(answers);
>                               answerListRef.dataProvider=answers;
>                       } 
> 
> After the scrambling, the text values are represented in their new places, 
> and the itemRenderers are resized--but all at the minimum size, so any over 
> the min size need scrollbars. The resize code is called it seems before the 
> data is set. 
> 
> I should mention that I have a similar vertical list, with 
> "variableRowHeight" set to true as well, and there the same code works fine. 
> 
> How do I force the HorizontalList to resize the renderers en masse after the 
> new text values are set?
>


Reply via email to