Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android保存许多布局的状态_Android_Android Layout_Android Activity - Fatal编程技术网

android保存许多布局的状态

android保存许多布局的状态,android,android-layout,android-activity,Android,Android Layout,Android Activity,我有一个简单的聊天应用程序,其中为每条消息创建了一个具有多个视图的RelativeLayout。活动停止或销毁后,我添加的所有布局将从父级中消失,因此所有消息都将消失 当然,我可以将每个视图的ID(以及其他值)放入SharedReferences对象或数据库中,以便在重新创建活动后恢复所有消息。。但是有没有更简单的方法来保存动态创建的布局。。?父级由XML定义 当一个活动(或片段)不可见时,它的视图层次结构就会被破坏,你无法克服这一点。事实上,你不需要太多。解决方案是将消息存储在数据库中,并根据

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


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

当一个
活动
(或
片段
)不可见时,它的
视图
层次结构就会被破坏,你无法克服这一点。事实上,你不需要太多。解决方案是将消息存储在数据库中,并根据数据库内容在
活动
启动上重新创建
视图
层次结构。没有必要在这里重新发明轮子。希望这会有所帮助。

将您的消息集合放在OnSaveInstanceState()的savedInstanceState捆绑包中,然后将它们还原到onCreate()中。

我无法将视图对象放在捆绑包中,因此这也意味着我必须保存所有值并根据此值重新创建视图您不应该保存视图对象。视图将被重新创建,但您已保存应用程序,不再获取/生成数据以再次显示。