使用HTTPService填充ArrayCollection

时间:2009-07-14 05:44:25

标签: flex httpservice arraycollection

我正在根据数据创建RSS Feed应用程序,我有以下内容:

我有一个预先填充了数据的ArrayCollection。我正在对ArrayCollection进行排序,得到1个数据(条件),并且需要连接到RSS feed,它返回标题,然后根据条件设置我的ArrayCollection - >标题。

        public function updateArrayList(list:ArrayCollection):ArrayCollection {
            trace(list);
            for(var i:int = 0; i < list.length; i++) {
            //  Alert.show(list.getItemAt(i).condition);
                getRSSUpdate(list.getItemAt(i).condition);
                list.getItemAt(i).title = getRSS.lastResult.article.title;
            }
            return list;
        }

        public function getRSSUpdate(condition:String):void {
            getRSS = new HTTPService();
            getRSSParam = new Object;
            getRSSParam.condition = condition;
            getRSS.method = "POST";
            getRSS.url = "http://localhost/site/remoteRequests/flash/rss/getRSS.php";
            getRSS.send(getRSSParam);
        }

基本上,我想遍历列表ArrayCollection,并使用从HTTPService传递的结果更新list.getItemAt(i).title。

这不起作用!救命啊!

1 个答案:

答案 0 :(得分:0)

首先在httpservice上创建一个结果事件,只有你才能访问请求的结果。

在该方法中,如果将响应返回为xml,则可以从中获取resultEvent,如果它可以直接执行此操作 lastResult.article.title

<mx:HTTPService id="yahooHTTPService"  
    url="http://search.yahooapis.com/WebSearchService/V1/webSearch" 
    method="GET" 
    makeObjectsBindable="true" result="httpServiceResult(event)" 
    fault="httpServiceFault(event)" showBusyCursor="true">
</mx:HTTPService>

这是一个示例http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_2.html#193905