2012-09-18 42 views
1

我有一個視圖堆棧和一箇中繼器,用於創建每個子視圖。 Soemthing這樣的:動態顯示視圖堆疊動態而無需重新創建每個子視圖

<mx:ViewStack width="100%" height="100%" > 
    <mx:Repeater id="myrepeater" dataProvider="{myDataProvider}"> 
    <mx:HBox width="100%" height="100%" > 
    ---view content goes here--- 
    </mx:HBox> 
    </mx:Repeater> 
    </mx:ViewStack> 

當我將項目添加到dataProvider中,它會創建新的孩子,但它也重新加載所有其他的孩子,這是我不想要的。如何防止Flex在添加子項時重新創建組件?

謝謝。

+1

我不知道這是多麼有幫助;但不要使用中繼器; XML不是爲循環設計的。用ActionScript重寫你的代碼.. – JeffryHouser

回答

0

你不能用Repeater「遞增」地執行它,你應該用編程方式代替使用方法addChild()它屬於Container,因此它被例如HBox繼承你的中繼,

歡呼

+0

謝謝。我終於像你所建議的那樣去做了。它解決了這個問題,謝謝! – user1680003

0

如果你可以使用Flex 4或更高版本,然後用DataGroupList代替Repeater。一切都會更好。

否則,您可以嘗試在Repeater上設置recycleChildren=false