0

我在我的应用程序中遇到了一个问题,当我检查设置 --> 显示 --> 自动旋转屏幕并运行我的应用程序时,所有活动都将以横向模式显示,所以当我从其他活动启动一个活动并旋转垂直形式的设备并在单击按钮时返回上一个活动,在按钮单击事件中,我完成了将先前活动置于顶部的活动,但它丢失了所有先前配置的数据但是当我取消选中设备的自动旋转屏幕时选项它保持以前的活动状态。

所以不确定,为什么会发生这种行为?

请帮我解决它。

问候, 皮克斯

4

3 回答 3

7

设置为AndroidManifest.xmlandroid:configChanges="orientation|screenSize"中的所有活动以手动覆盖方向更改

于 2012-04-10T08:33:24.497 回答
2

除非您自己专门处理这些事件,否则诸如方向更改之类的配置更改将导致您的活动重新出现。阅读相关文档以获取更多信息。

  1. http://developer.android.com/guide/topics/resources/runtime-changes.html
  2. http://developer.android.com/resources/articles/faster-screen-orientation-change.html
于 2012-04-10T08:34:47.493 回答
0

当您旋转屏幕时,会重新创建 android 活动,因此它会丢失所有以前的状态。为避免这种情况,您可以执行以下操作

  1. 在 android 清单文件中停止娱乐(只需定义 android:configChanges="keyboardHidden|orientation|screenSize" )。

  2. 使用以下处理程序方向。

     @Override
            public void onConfigurationChanged(Configuration newConfig) {
                super.onConfigurationChanged(newConfig);
    } 
    

如果纵向模式和横向模式下的布局不同,那么您应该处理方向

于 2012-04-10T09:00:23.107 回答