【问题标题】:Layout restarts after device's rotation [duplicate]设备旋转后布局重新启动[重复]
【发布时间】:2013-11-17 21:22:05
【问题描述】:

我用 2 个按钮(开始和退出)和一个空的 TextView 做了一个简单的应用程序。如果我按下开始按钮,TextView 将被更新。我的问题是,如果我旋转设备,我的布局将重新启动(如果按下启动,TextView 将再次变为空。为什么?

【问题讨论】:

    标签: java android layout rotation


    【解决方案1】:

    这是因为屏幕旋转后活动重新创建。简单的解决方法是在 xml 中将 android:id 添加到您的 TextView

    【讨论】:

      【解决方案2】:

      Android 会在设备旋转时自动销毁 Activity 并重新创建它以使其适应屏幕的新方向。

      【讨论】:

      • 避免活动破坏和重新创建是不可避免的,但您可以做的是强制活动保持固定的方向。或者将您需要的内容保存在活动的 saveInstanceState(Bundle) 方法中,然后将其从通过 onCreate(Bundle) 传递给它的同一个包中取出;或 restoreInstanceState(); onConfigChange() 也是一个选项,但强烈建议不要这样做。
      • 我注意到只有一个帖子没有被否决,那就是渔民。鱼腥味。
      • @Samuel 可能是因为他是唯一正确的答案,而那些被否决的答案完全是错误的?
      【解决方案3】:

      如果您不希望在方向更改时重新创建活动,您可以添加此行

      android:configChanges="orientation|keyboardHidden"
      

      在该 Activity 的 Android 清单中.. 例如:-

      <activity android:name=".MyActivity"
                android:configChanges="orientation|keyboardHidden"
                android:label="@string/app_name">
      

      Reference here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多