如何刷新绑定到Flex中列表的XML数据?

时间:2012-02-09 22:20:23

标签: xml flex data-binding refresh mxml

我正在使用Flash Builder 4.6和flex为Blackberry Playbook编写应用程序。我遇到了一个问题,我希望有人可以帮助我。它如下:

首先,我正在创建一个允许用户浏览各种reddit供稿的应用。我正在使用reddit API,您可以在其中使用JSON或XML格式的数据。我正在使用XML。在Adobe Flash Builder中,我运行了“数据/服务”向导来连接数据源,该数据源在Reddit上提取最新的25个条目。然后我将该数据绑定到一个火花List组件,该组件位于视图中,“redditFeed”。您会注意到它使用AsyncListView。这是代码:

redditFeed.mxml

<fx:Script>
    <![CDATA[

public function myList_creationCompleteHandler():void
            {   

                getRedditFeedResult.token = redditFeedGrabber.getRedditFeed("");                    
            }
        ]]>
    </fx:Script>

<fx:Declarations>
        <s:CallResponder id="getRedditFeedResult"/>
        <redditfeedgrabber:RedditFeedGrabber id="redditFeedGrabber"/>
        <s:CallResponder id="redditFeedJSONResult"/>
    </fx:Declarations>

     <s:List id="feedList" width="100%" height="100%" change="myList_changeHandler(event)"
                contentBackgroundColor="#deefff" 
                creationComplete="myList_creationCompleteHandler()">
        <s:AsyncListView id="asyncList" list="{getRedditFeedResult.lastResult}"/>
            <s:itemRenderer>
                <fx:Component>
                    <s:IconItemRenderer iconField="thumbnail" 
                                        iconWidth="64" iconHeight="64"
                                        labelField="title" fontSize="20"
                                        messageField="pubDate"
                                        verticalAlign="top"
                                        iconPlaceholder="{assets.LoadingIcon}">
                        <fx:Script>
                            <![CDATA[
                                import assets.LoadingIcon;
                            ]]>
                        </fx:Script>
                    </s:IconItemRenderer>
                </fx:Component>
            </s:itemRenderer>



        </s:List>

现在我的问题;我有一个名为'refreshButton'的刷新按钮。我想在用户单击此按钮时刷新上面spark列表中的数据。我已经远远地搜索了一个解决方案,但无济于事。 那么,我如何重新加载绑定到列表的xml数据,然后让列表显示这个新数据? 我感谢您提供的任何帮助。如果我能提供更多帮助,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:0)

您所要做的就是在按钮点击处理程序中进行与创建完成处理程序相同的调用。设置令牌并再次进行调用应该在ASyncToken获得结果时强制刷新。