【问题标题】:Landscape to Portrait recreates activity?横向到纵向再现活动?
【发布时间】:2013-01-17 15:03:44
【问题描述】:

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

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

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

谢谢。 :)

【问题讨论】:

  • 不知道为什么所有的反对票。我认为这是一个合理的问题(之前已在 SO 上解决过)。
  • 很公平。我喜欢看到所有 NULLPointer 问题都被否决,但这似乎是合理的。显然这对我来说并不重要。干杯。
  • Luksprog:我的应用程序差不多完成了,这是我刚刚看到的,因为我不太关心方向。 ://
  • & 我已经搜索了很多,因为我知道这是一个基本问题。但是因为我没有为我的应用找到任何合适的答案。我在这里问的。 :o
  • K.. 我去了那个链接.. 但只是跳过它认为它是浪费.. 对不起.. 非常感谢鼻屎。我正在尝试接受您的回答,但无法接受。但只要网站允许,我就会接受。 :)

标签: android


【解决方案1】:

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

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

Handle screen rotation without losing data - Android

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

【讨论】:

    【解决方案2】:

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

    android:configChanges="orientation|screenSize"
    

    例子:

    <activity
         android:name="MyActivity"
         android:configChanges="orientation|screenSize">
    </activity>
    

    【讨论】:

    • 感谢 Androider.. 这个方法也有效.. 它告诉我的应用它不需要 android 来中断它.. 它可以自己处理它的数据.. :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多