2011-07-19 81 views
4

我是新來的android編程,但有一個非常強大的Java背景。我正在創建一個相當簡單的遊戲,涉及通過各種短小的「關卡」進行遊戲,整個遊戲都是定時的,目標是儘可能縮短遊戲時間。我把關卡放在引號中,因爲它們非常短,主要包括做一些簡單的任務(即點擊一個按鈕),然後進入下一個任務。因此,我不是爲每個級別創建不同的活動,而是決定將所有內容都保存在一個活動中,並且當用戶完成一個級別的所有任務時,使用setContentView()方法設置不同的佈局。我的問題是,每次我切換佈局時,我都需要使用findViewById()重置指向按鈕的指針,即使它們的命名方式相同。如果有人能夠解釋爲什麼我需要這樣做會很有幫助?另外,因爲我對android相當陌生,也許我不會以最有效的方式解決這個問題?任何建議都會受到歡迎和讚賞。在同一活動中更改/使用多個佈局?

此外,我認爲這可能是相關的,但我有一個天文臺,我想在整個佈局持久?我在其他問題中看到,這在各項活動中都無法實現,但我想檢查跨佈局的情況。

非常感謝您的幫助。

編輯:謝謝阿尼亞,viewflipper貌似完美的解決方案

編輯:那麼與ViewFlipper一些嘗試後,我決定用我的項目。雖然它不能解決每個新級別重新添加按鈕的問題(我通過爲每個按鈕指定一個明確的名稱(即使在所有佈局中都解決了這個問題),但它確實爲我提供了一些不錯的動畫效果以及方便使用showNext和showPrevious方法。

回答

2

你試過ViewFlipper?在這種情況下,它似乎是完美的解決方案

+0

在看了ViewFlipper之後,我是否對你的想法/想到我會用它來基本循環佈局?我以前沒有用過這個,所以有什麼想法是否可以解決每次重置按鈕的問題? – jmh

+0

在ViewFlipper中,您可以放置​​許多不同的視圖,您可以在它們之間進行動畫製作。這和你現在正在做的一樣。我不知道你是如何定義按鈕,它們是在你的佈局中,還是在你的每個佈局上都是不變的?如果按鈕始終存在,則可以在佈局中使用ViewFlipper和按鈕。 VF將在視圖之間切換,但按鈕將一直在那裏。同樣的事情將與天文臺一起工作。 – ania

+0

您的按鈕不在setContentView之後,因爲此方法從xml文件創建新佈局。你期望如果你定義了具有相同id的按鈕,什麼都不會改變,但在setContentView方法之後,你以前的視圖對象不再可用(你的按鈕和它)和新的佈局(視圖對象)被創建(使用新的按鈕)。在這種情況下給出相同的名稱不會改變任何內容,但您仍然必須以新的佈局再次找到您的對象。 – ania