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?
>