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

Responder a