2013-01-11 47 views
0

我有一个简单的聊天应用程序,其中为每个消息创建了一个具有多个视图的RelativeLayout。在活动停止或销毁后,我所添加的所有布局都从父级消失,因此所有消息都消失了。android保存多种布局状态

当然,我可以将每个单一视图的ID(以及其他值)放入SharedPreferences对象或数据库中,以便在重新创建活动后还原所有消息。但是有没有更简单的方法来动态保存创建布局..?父级由XML定义。

回答

2

Activity(或Fragment)变得不可见时 - 它的View层次结构被破坏,并且您无法克服该问题。事实上,你并不需要。解决方案是将消息存储在数据库中,并根据数据库内容在Activity启动View层次结构重新创建。没有必要在这里重新发明轮子。希望这可以帮助。

0

将你的消息集合放入Bundle savedInstanceState中OnSaveInstanceState()并将它们从onCreate()中恢复。

+0

我不能把视图对象放在Bundle中,所以这也意味着我必须保存所有的值并从这个值重新创建视图 – Droidman

+0

你不应该保存视图对象。视图将被重新创建,但您可以保存应用程序以获取/生成数据以再次显示。 –