Hello Wesley and others, I have prepared a simple test case to demo my problem - I'm trying to create a custom component which is being fed with XML repeatedly coming from server. My problem is that the CollectionEvent listener isn't fired.
Games.mxml: <?xml version="1.0" encoding="utf-8"?> <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:my="*"> <mx:Script> <![CDATA[ import mx.collections.*; import mx.events.*; private var _xlist:XMLList; [Bindable] public function get xlist():XMLList { return _xlist; } public function set xlist(x:XMLList):void { _xlist = x; trace("set(" + x +")"); list.dataProvider = x; list.dataProvider.addEventListener(CollectionEvent.COLLECTION_CHANGE, xlistChanged); } private function gameLabel(item:Object):String { return "game: " + it...@label; } private function xlistChanged(event:CollectionEvent):void { trace("xlistChanged(" + event +")"); all.text = "All games: " + _xlist.game.length(); full.text = "Full games: " + _xlist.game.(user.length() == 3).length(); vacant.text = "Vacant games: " + _xlist.game.(user.length() < 3).length(); } ]]> </mx:Script> <mx:Label id="all" text="All games"/> <mx:Label id="full" text="Full games"/> <mx:Label id="vacant" text="Vacant games"/> <mx:List id="list" labelFunction="gameLabel"/> </mx:VBox> MyTest.mxml: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:my="*"> <mx:Script> <![CDATA[ import mx.events.*; private function changeXML1():void { games = <games> <game label="1"> <user/> <user/> <user/> </game> <game label="2"> <user/> <user/> </game> <game label="3"> <user/> <user/> <user/> </game> </games>; } private function changeXML2():void { games = <games> <game label="A"> <user/> <user/> <user/> </game> <game label="B"> <user/> <user/> </game> <game label="C"> </game> </games>; } ]]> </mx:Script> <mx:XML id="games"> <games> <game label="X"> <user/> <user/> </game> <game label="Y"> <user/> <user/> </game> </games> </mx:XML> <mx:Button label="Change XML 1" click="changeXML1()"/> <mx:Button label="Change XML 2" click="changeXML2()"/> <my:Games xlist="{games.game}"/> </mx:Application> What am I doing wrong? Regards Alex