我有一个活动有两个屏幕和两个xml文件。在我的onCreate
方法中,我称之为第一个并处理一些用户输入。之后我用
setContentView(R.layout.activity_quiz2);
一切都很好并按预期工作但是当我运行应用程序并在之后>>我的设备后,我切换了布局。它只会切换回第一个布局并保持在该布局上(每个按钮和所有工作都可以)。
如何在关闭设备时阻止屏幕更改布局?
答案 0 :(得分:0)
它切换回第一个布局,因为当您旋转屏幕时,将重新创建整个Activity
。你有几个选择来解决这个问题:
将android:configChanges="orientation"
添加到<activity
文件中的AndroidManifest.xml
元素。通过这种方式,您可以自己告诉系统您想要处理轮换(如果需要,您可以使用onConfigurationChanged()
方法执行某些操作)。
使用Fragments
显示两个&#34;状态&#34;你有(我假设那些是quiz1
和quiz2
)。这样您就不需要在活动中执行多个setContentView()
。
第二个选项是要选择的选项,因为它基本上是Fragments
的全部内容。更不用说你可以在它们之间进行非常好的过渡(淡入式动画等),而你的用户体验将比交换setContentView()
时好得多。