对于一个活动,我有两个屏幕和两个xml文件。在我的onCreate方法中,我调用第一个方法并处理一些用户输入。之后,我将改变我的布局
setContentView(R.layout.activity_quiz2);而且一切都很好,按预期工作,但是当我运行应用程序并在之后打开设备时,我切换了布局。它只会切换回第一个布局,并保持该布局(每个按钮和所有的工作,以及)。
当我打开我的设备时,我怎样才能防止屏幕改变我的布局呢?
发布于 2015-05-19 15:59:39
它切换回第一个布局,因为当您旋转屏幕时,会重新创建整个Activity。你有几个选择来处理这个问题:
android:configChanges="orientation"添加到AndroidManifest.xml文件中的<activity元素中。这样,您就可以告诉系统您要自己处理旋转(如果需要,可以在onConfigurationChanged()方法中执行一些操作)。Fragments显示您拥有的两个“状态”(我假设它们是quiz1和quiz2)。这样,您就不需要在活动中执行多个setContentView()。第二个选择是需要选择的,因为这基本上就是Fragments所要做的。更别提你可以在它们之间做很好的转换(淡入动画等),你的用户体验将比交换setContentView()时要好得多。
https://stackoverflow.com/questions/30329871
复制相似问题