4

我允许用户在横向和纵向模式下工作,但是当我在这两种模式之间切换时,它只会将活动带到它的起点。

例如; 我输入了我想在某些活动中查看数据的所有规范,但是当我将模式从横向切换到纵向或从纵向切换到横向时,它只会将活动带到它的起点并且我必须再次输入所有规范查看我的数据。

是否有任何解决方案,或者android总是会在两种模式之间切换时重新创建活动?

谢谢。:)

4

2 回答 2

3

这是默认情况下的预期行为。处理这种情况相当容易。基本上,您保存 Activity 状态(和数据),然后在屏幕旋转时重新填充 Activity(并重新创建 Activity)。

这是一个很好的解决方案:

在不丢失数据的情况下处理屏幕旋转 - Android

也值得阅读有关此主题的文档(并了解 Android 中的 Activity 生命周期):http: //developer.android.com/training/basics/activity-lifecycle/index.html

于 2013-01-17T15:06:29.653 回答
3

发生这种情况是因为在方向更改时,活动被破坏并重新创建。避免这种情况的一种方法是在 manifest.xml 的活动标记内添加以下行

android:configChanges="orientation|screenSize"

例子 :

<activity
     android:name="MyActivity"
     android:configChanges="orientation|screenSize">
</activity>
于 2013-01-17T15:07:29.817 回答