setContentView并转为decive

时间:2015-05-19 15:26:25

标签: android setcontentview

我有一个活动有两个屏幕和两个xml文件。在我的onCreate方法中,我称之为第一个并处理一些用户输入。之后我用

改变我的布局
setContentView(R.layout.activity_quiz2);

一切都很好并按预期工作但是当我运行应用程序并在之后>我的设备后,我切换了布局。它只会切换回第一个布局并保持在该布局上(每个按钮和所有工作都可以)。

如何在关闭设备时阻止屏幕更改布局?

1 个答案:

答案 0 :(得分:0)

它切换回第一个布局,因为当您旋转屏幕时,将重新创建整个Activity。你有几个选择来解决这个问题:

  1. android:configChanges="orientation"添加到<activity文件中的AndroidManifest.xml元素。通过这种方式,您可以自己告诉系统您想要处理轮换(如果需要,您可以使用onConfigurationChanged()方法执行某些操作)。

  2. 使用Fragments显示两个&#34;状态&#34;你有(我假设那些是quiz1quiz2)。这样您就不需要在活动中执行多个setContentView()

  3. 第二个选项是要选择的选项,因为它基本上是Fragments的全部内容。更不用说你可以在它们之间进行非常好的过渡(淡入式动画等),而你的用户体验将比交换setContentView()时好得多。