我需要遞歸地移動通過擴展視圖類的一堆自定義視圖。Android是指循環中的自定義視圖?
E.g.
ViewOne.java
ViewTwo.java
ViewThree.java
我在MainClass.java
ViewOne vOne;
ViewTwo vTwo;
ViewThree vThree;
這些意見都實現了一個名爲start()
功能創建的每個視圖的實例。
,我希望能夠遍歷它們以某種方式:
for(int i=0; i<= 2:i++)
{
views[i].start();
}
我怎麼會去這樣做呢?
以上只是一個例子。我需要能夠以數字和編程方式移動它們的真正原因是因爲我希望能夠按照按鈕(上一個和下一個)單擊的方式,按照數字順序添加視圖並將其刪除。 (我不希望它們一開始就添加到佈局中,因爲它們佔用大量資源)。
那麼所需要的是這樣:
點擊下一步 - >添加下一個視圖 - >刪除當前視圖。 單擊上一個 - >添加上一個視圖 - >刪除當前視圖。
例如
currView = 1
Current View is currView (1)
Click Next
Add View currView+1 (2) to Layout
Switch to View currView+1 (2)
Remove View currView (1)
or
currView = 2
Current View is currView (2)
Click Previous
Add View currView-1 (1) to Layout
Switch to currView-1 (1)
remove View currView (2)
注意,這種觀點都是自己獨特的類型,並且是擴展查看INFACT個人類。我不能簡單地將它們轉換爲「View」,因爲這是錯誤的,它們的類型分別是ViewOne,ViewTwo和ViewThree(例如)。
謝謝,我現在就試試這個。然而,如果我將所有的視圖添加到這個列表中,他們的構造函數會被調用(每個視圖的構造函數會加載十幾個位圖資源),但我關心內存。 – Hamid 2010-11-15 14:07:52
您應該在將視圖添加到列表之前實例化視圖。是的,如果你實例化一個視圖,構造函數被調用。 – 2010-11-15 14:18:32
這似乎不工作,除非我typecase查看我的自定義視圖之一。 (ViewOne)或(ViewTwo)或(ViewThree)。否則它只會返回標準(View)類型的函數供我調用。 – Hamid 2010-11-15 14:20:30