基本上我有两个 Activity 。主 Activity 有一个按钮,可以转到第二个 Activity ,该 Activity 指定 TextView 的名称(具体为三个 TextView )。之后,返回主 Activity , TextView 的指定名称将显示在第一个 Activity 中,但 TextView 是以编程方式添加的,并根据其名称添加到不同的表行中。我的问题是,当屏幕方向从纵向更改为横向时,不会保存以编程方式添加的 TextView 。我将如何保存这些值?我试过 android:configChanges 但它根本没有保存任何东西。
最佳答案
据我了解,在第二个 Activity 中,您需要指定将分配给第一个也就是主要 Activity 中的几个 TextView 的文本。
我推荐两种方式:
- 使用
savedInstanceState
、onSaveInstanceState()
保存和提取您以编程方式设置的 TextView 的字符串。 - 将
android:configChanges="orientation|screenSize"
应用到主 Activity 以防止它被重新创建。
有the first way和 the second way在要点上。 您还可以看到差异 here (2个改动文件,新增4处,删除17处)。
关于Android 屏幕方向已更改,不保存以编程方式添加的 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25718859/