嗨,我一直在使用Flash Builder 4.6開發Flex Mobile應用程序。如何在使用Flex的視圖之外訪問公共職能?
我在我的項目中有2個mxml'views'。在一個mxml文件中,我有一個可以獲取xml數據的函數。 在我的其他mxml文件中,我有一個刷新按鈕,當鬱悶的時候可以調用第一個mxml文件中的函數,以便再次獲取xml數據。 我不知道如何從它所在的mxml文件之外調用該函數。
我非常感謝任何幫助。謝謝!
[更新#2] *
我想我應該分享一下我的問題的更多細節。
- 這是一個reddit客戶端的移動應用程序。它獲取飼料等
- 在我的主視圖稱爲RedditReaderHomeView.mxml,我使用的是splitViewNavigator Spark組件容納像這樣其他兩種觀點:
RedditReaderHomeView.mxml
<s:SplitViewNavigator width="100%" height="100%" id="splitViewNavigator" autoHideFirstViewNavigator="true">
<s:ViewNavigator id="redditList" firstView="views.subredditList" width="300" height="100%"/>
<s:ViewNavigator id="redditFeed" firstView="views.redditFeed" width="100%" height="100%">
<s:actionContent.landscape>
<s:Button id="refreshButtonlLandscape" icon="@Embed('assets/refresh160.png')" click="refreshRSS()" />
</s:actionContent.landscape>
<s:actionContent.portrait>
<s:Button id="refreshButton" icon="@Embed('assets/refresh160.png')" />
<s:Button id="navigatorButton" label="Search" click="splitViewNavigator.showFirstViewNavigatorInPopUp(navigatorButton)" />
</s:actionContent.portrait>
</s:ViewNavigator>
</s:SplitViewNavigator>
- 正如你可以在上面的代碼中看到的,在我的主視圖中,我有一個ID爲「refreshButton」的按鈕。當我點擊這個按鈕時,我想要刷新reddit數據。換句話說,我想調用一個函數來刷新數據,它位於視圖'redditFeed'中。
- 這是一個名爲'redditFeed.mxml'的獨立視圖中的函數,我想使用上面顯示的主視圖中的刷新按鈕進行調用。
redditFeed.mxml
protected function myList_creationCompleteHandler(url:String):void
{
getRedditFeedResult.token = redditFeedGrabber.getRedditFeed(url);
getRedditFeedResult.addEventListener(ResultEvent.RESULT,busyOff);
}
我希望這有助於明確了混亂,我試圖做的。我假設解決方案很簡單,但唉,我是一個新手程序員,也是Flex的新手,所以我正在學習繩索。任何幫助表示讚賞。謝謝!
您的代碼不清楚。您的SplitViewNavigator與上面的函數來自或不是的myList組件在相同的文件中?它看起來不是自己的MXML文件的根標籤,因爲它沒有名稱空間聲明。你可以發佈一個更大的代碼塊來顯示關係嗎? – 2012-02-07 13:27:21
好吧,我澄清了一點。讓我知道如果你需要更多,我只是不想混亂的帖子太多的代碼。 – 2012-02-08 00:05:04
謝謝你們對此的幫助。我現在已經開始工作了,但是我遇到了一個新問題,我剛剛提交了一個新問題。可能你們中的一個也許能夠幫助我呢?再次感謝您支持我的業餘愛好,真的很感激! – 2012-02-09 04:31:04