0
我開發基於教程之一的小型RSS閱讀器。這是一個在HomeView上的簡單應用程序,當用戶單擊RSS項目標題時,然後應用程序在DetailsView.mxml上推送視圖。但我有一個小問題。我在HomeView中包含了一個刷新按鈕,但是每當我在列表中滾動或單擊項目時,然後再回到HomeView列表上時都會刷新。這使用了很多互聯網連接。是否有可能使這個應用程序,以便當應用程序打開,然後加載(刷新)列表,然後刷新按下按鈕「刷新」?Flex 4.5:僅在應用程序打開時刷新並單擊按鈕
P.S.請,我需要簡單的解釋,我真的不是一個程序員:)
感謝您的幫助,在這裏是HomeView源代碼:
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:rssreader="services.rssreader.*"
xmlns:s="library://ns.adobe.com/flex/spark"
title="Elektro-Vozila" viewActivate="getData()">
<fx:Script>
<![CDATA[
import spark.events.IndexChangeEvent;
protected function getData():void
{
getDataResult.token = rssreader.getData();
}
import mx.events.CollectionEvent;
import valueObjects.Item;
protected function fixEntityReferences(event:CollectionEvent):void
{
myList.labelFunction = replaceEntity;
function replaceEntity(item:Item):String
{
var p1:RegExp = /(")/ig; // perhaps add more here later
var thisString:String = item.title.replace(p1, "");
trace(thisString);
return thisString;
}
}
protected function myList_changeHandler(event:IndexChangeEvent):void
{
var RSSItem:Object = myList.dataProvider.getItemAt(event.newIndex);
navigator.pushView(DetailsView, RSSItem);
}
private function refreshList():void
{
Object(navigator.activeView).getData();
}
]]>
</fx:Script>
<s:actionContent>
<s:Button label="Refresh"
click="refreshList()"/>
</s:actionContent>
<fx:Declarations>
<s:CallResponder id="getDataResult"/>
<rssreader:Rssreader id="rssreader"/>
<s:CallResponder id="getDataResult2"/>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:List bottom="0"
change="myList_changeHandler(event)"
id="myList"
itemRenderer="views.IconItemRenderer"
labelField="title"
left="0"
right="0"
top="0">
<s:AsyncListView list="{getDataResult.lastResult}"
collectionChange="fixEntityReferences(event)"/>
</s:List>
</s:View>
Heeey Shaun「好人」:))我有這個代碼的一個錯誤。在線「受保護的函數getData(force:Boolean = false):void」錯誤是:1021:重複的函數定義。 – Roky 2012-02-14 23:02:51
您必須粘貼但不能替換現有的。 AS3不允許重載方法,這就是你所要做的。重載是指你有不同的「簽名」,也就是說方法調用的數據類型不同,但方法名稱相同。 AS3不允許你這麼做,所以你必須將這個粘貼到你現有的方法上......或者現在你有兩個刪除你的舊方法。 – shaunhusain 2012-02-14 23:10:04
很高興我仍然有來源:) – shaunhusain 2012-02-14 23:10:29