2013-01-11 46 views
0

我有一個簡單的聊天應用程序,其中爲每個消息創建了一個具有多個視圖的RelativeLayout。在活動停止或銷燬後,我所添加的所有佈局都從父級消失,因此所有消息都消失了。android保存多種佈局狀態

當然,我可以將每個單一視圖的ID(以及其他值)放入SharedPreferences對象或數據庫中,以便在重新創建活動後還原所有消息。但是有沒有更簡單的方法來動態保存創建佈局..?父級由XML定義。

回答

2

Activity(或Fragment)變得不可見時 - 它的View層次結構被破壞,並且您無法克服該問題。事實上,你並不需要。解決方案是將消息存儲在數據庫中,並根據數據庫內容在Activity啓動View層次結構重新創建。沒有必要在這裏重新發明輪子。希望這可以幫助。

0

將你的消息集合放入Bundle savedInstanceState中OnSaveInstanceState()並將它們從onCreate()中恢復。

+0

我不能把視圖對象放在Bundle中,所以這也意味着我必須保存所有的值並從這個值重新創建視圖 – Droidman

+0

你不應該保存視圖對象。視圖將被重新創建,但您可以保存應用程序以獲取/生成數據以再次顯示。 –