我有一个简单的聊天应用,其中为每条消息创建了具有多个视图的RelativeLayout。活动停止或销毁后,我添加的所有布局都会从父级中消失,因此所有消息都消失了。
当然,我可以将每个单个视图的ID(以及其他值)放入SharedPreferences对象或数据库,以便在重新创建活动后恢复所有消息..但是有一种更简单的方法来保存动态创建的布局..?父级由XML定义。
答案 0 :(得分:2)
当Activity
(或Fragment
)变得不可见时,其View
层次结构会被破坏,您无法克服它。事实上,你也不需要。解决方案是将消息存储在数据库中,并根据数据库内容在View
启动时重新创建Activity
层次结构。无需在这里重新发明轮子。希望这会有所帮助。
答案 1 :(得分:0)
将您的消息集合放在OnSaveInstanceState()的Bundle savedInstanceState中,并从那里恢复它们的onCreate()。