Kra eu ja fiz isso da uma sacada.... Pra vc ter uma idéia eu até já coloquei o atributo do HttpRequest no objeto do ItemRenderer (data) pra que isso não acontecesse mas não adiantou, antes o httpService era um atributo do ItemRender mesmo.... depois q eu faço um HttpRequest basta eu mover uma vez no Scroller pra ele perder a referencia de quem chamou o evento. O problema soh acontece se eu mexer o scroll, se eu soh mexer o scroll depois que o httpRequest retornar, zero bronca
<s:ItemRenderer xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" dataChange="handleDataChange()" xmlns:components="components.*" autoDrawBackground="false" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="handleCreationComplete()" > <fx:Script> <![CDATA[ private function handleCreationComplete():void { if ( data != null && data.hasOwnProperty("from_user_only") && data.hasOwnProperty("from_user_link") && data.hasOwnProperty("created_at")) { handleDataChange(); } } private function handleDataChange():void { if ( data!= null && data.hasOwnProperty("from_user_only") && data.hasOwnProperty("from_user_link") && data.hasOwnProperty("created_at")) { if (mHttpService != null ) { mHttpService.removeEventListener("result", onCompleteHttpRequest); mHttpService.addEventListener("fault", onError); } } } public function snippetHttpRequest():void { initLimitTimer(); data.tweetVisible = tweetVisible = false; data.preloaderVisible = preloaderVisible = true; //unshortLink = data.unshortLink = unshort.url; data.snippetCaller = new HTTPService(); data.snippetCaller.resultFormat = "text"; data.snippetCaller.method = "GET"; data.snippetCaller.url = StringUtil.trim(data.snippetLink); data.snippetCaller.addEventListener("result", onCompleteHttpRequest ); data.snippetCaller.addEventListener("fault", handleFault ); data.snippetCaller.send(); } public function onCompleteHttpRequest(e:ResultEvent):void { ........................ } private function handleFault(e:FaultEvent):void{ Alert.show(e.fault.rootCause.toString()); } -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev