2010-02-19 19 views
1

我想在我的代碼中創建一個選項來使用首選項更改佈局。我已經有了用XML創建的兩個佈局,但我無法弄清楚在運行時如何在兩者之間進行交換。我想在onResume()函數中檢查它,因爲它在從首選項屏幕返回後直接調用,並且在啓動時,我無法弄清楚需要的代碼。我嘗試了第二次使用setContentView(),但它似乎沒有工作。我能做什麼?提前致謝!如何在運行時(Android)期間從XML轉換LinearLayouts?

回答

1

我猜你需要保存用戶的偏好,然後讓他們關閉並重新啓動你的應用程序,因爲我相信唯一一次你可以調用setContentView()在onCreate()。在調用setContentView()之前,您可以首先閱讀佈局首選項,作爲onCreate()中的第一件事情。一旦避免讓用戶重新啓動應用程序,可能會創建一個新的活動實例已經改變了他們的偏好,並關閉了當前的活動。

+0

我將使用什麼代碼來創建新實例並關閉舊的? – gkanwar 2010-02-19 22:21:35

+0

只需用Intent打開Activity的新實例,然後在要關閉的活動中執行this.finish()。 – 2010-02-21 01:49:44

+0

對於這個愚蠢的問題感到抱歉,但是按照什麼順序我會這麼做:this.finish()第一個還是第一個新的intent?看起來如果我先調用this.finish(),它就不會得到新的Intent代碼;但是,如果我先調用了新的Intent,是不是要等到關閉才能返回到我的應用程序,因此不會調用this.finish()並讓它在後臺運行? – gkanwar 2010-02-21 19:52:16

相關問題