I've been looking at this for hours.  Does anyone know why I am seeing
this behavior?  Or at least tell me how I can debug to provide more
information.


--- In [email protected], "steve horvath" <flexcod...@...>
wrote:
>
>
> I have a TileList:
>
> <mx:Label id="label1" text="{albumsThumbnailList.selectedIndex}" />
> <mx:Label id="label2"
> text="{presentations.currentPresentation.presentedAlbumIndex}" />
> <mx:TileList id="albumsThumbnailList" backgroundAlpha="0"
> useRollOver="false" initialize="mySizeBinding(event);"
>     
dataProvider="{presentations.currentPresentation.presentedAlbums}"
>      itemRenderer="PresentationAlbumRenderer"
>
>
selectedIndex="{presentations.currentPresentation.presentedAlbumIndex}"
>      change="albumChangeHandler()" />
>
> public function test():void {
>      _includedAlbums.removeItemAt(1);
>      dispatchEvent(new Event("albumToggledEvent"));
>      presentedAlbumIndex--;
> }
>
> BEFORE test():
> label1 == 5
> label2 == 5
>
> AFTER test():
> label1 == 5
> label2 == 4
>
> Problem is, when the 5th index is currently selected and I delete an
> item earlier in the list (like index 2), the data provider updates the
> list.  But the selectedIndex doesn't get updated.  (See test()
> function.)  I noticed when I comment out the removeItemAt line, the
> index gets updated just fine.
>
> How do I update the data provider and index in the same operation and
> get the TileList to bind correctly?  Can I perhaps subclass TileList
and
> override a function?  Some other way?
>
> I tried looking into the internals of ListBase, inspecting
> selectedIndex, and generally browsing around at runtime.  I noticed
that
> selectedIndex does get set to 4 momentarily.  Then it gets set right
> back to 5 again.  I'm guessing it may have to do with the
> updateDisplayList or something like that.
>


Reply via email to