Java 如何将视图放入捆绑包中

Java 如何将视图放入捆绑包中,java,android,bundle,Java,Android,Bundle,我正在将动态创建的编辑文本添加到布局(onClick按钮方法)。当我旋转屏幕时,添加的编辑文本消失。如何将它们添加到bundle中,以将它们放入onSavedInstanceState方法中?或者,还有其他方法可以做到这一点吗?我知道我可以保存文本,但是当我旋转它时,有没有办法保持屏幕布局?如果用户按下按钮并添加五个编辑文本(无论是否键入任何内容),我需要在屏幕旋转时保存此布局(我基本上需要对我的应用程序进行虚拟校对:) 提前谢谢 视图本身并不表示需要保存的信息。相反,您应该保存它们的坐标、宽度

我正在将动态创建的编辑文本添加到布局(onClick按钮方法)。当我旋转屏幕时,添加的编辑文本消失。如何将它们添加到bundle中,以将它们放入onSavedInstanceState方法中?或者,还有其他方法可以做到这一点吗?我知道我可以保存文本,但是当我旋转它时,有没有办法保持屏幕布局?如果用户按下按钮并添加五个编辑文本(无论是否键入任何内容),我需要在屏幕旋转时保存此布局(我基本上需要对我的应用程序进行虚拟校对:)


提前谢谢

视图本身并不表示需要保存的信息。相反,您应该保存它们的坐标、宽度、高度、值等。

您不能保存视图。bundle只是一个对名称值。当然,您可以保存文本,然后再次渲染。路就是你说的

onsaveInsatnceState(bundle save)将文本另存为save.putString('text1','bla bla')当然,您需要一个循环来保存所有edittext

然后在oncreated中(bundle保存)


您可以通过save.getString('text1')获得添加的内容。

您无法将视图添加到捆绑包中,因为它们不可打包/序列化。您可以而且应该保存到bundle中的唯一内容是活动的当前状态


您可以维护一个列表数据结构或一个计数器变量来跟踪动态创建的视图。还保存编辑文本的字符串值。在onCreate中,您应该解释该信息,以便重新创建视图及其状态。

您可以将视图数据保存到类或arraylist中。 当片段活动将重新启动时,您可以在oncreate函数中从saveinstance状态获取数据


使用此函数setRetainInstance(true)。使用thing函数后,您的片段活动不会被破坏

我知道我可以保存文本,但是当我旋转它时,有没有办法保持屏幕布局?如果用户按下按钮并添加五个编辑文本(无论是否键入任何内容),我需要在屏幕旋转时保存此布局(我基本上需要对我的应用程序进行虚拟校对:)。对不起,如果我想要的不是;我不清楚。谢谢别担心。但不幸的是,您无法保存视图,您可以保存editText和文本的数量,并使用此信息再次合成布局。我想这是唯一的解决办法。我想我明白了!我将把editText中的字符串保存到bundle中,然后在屏幕旋转时填充新的editText。你们破坏了我的记忆。我该如何创建计数器变量?我没有onClick的倾听者;我的xml文件中有一个onClick方法。我可以将字符串保存到数组中,然后使用for循环创建EditText并通过数组元素索引添加字符串吗?因为Google建议通过ProGuard使用代码压缩和模糊处理,所以您不应该用XML定义事件处理程序(除非您在ProGuard配置文件中保护方法名称)。在代码中设置/创建onClick事件处理程序。我不知道你是如何创建这些编辑文本的。如果它们没有应用一些奇特的定位,那么您实际上只需要保存它们的文本值,并在onCreate中的savedInstanceState包中迭代该字符串数组列表,以便重新创建这些EditText。