当我更改设备方向时应用程序崩溃
答
当方向改变,然后片段的状态将改变。您需要通过致电
setRetainInstance(true);
in onCreate()
方法来保存您的片段的状态。
您还可以使用onRestoreInstanceState()
方法,将存储您savedInstanceState
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
onCreate(savedInstanceState);
}
最好的解决方法是只需添加
android:configChanges="orientation|screenSize|keyboardHideen"
为您的活动保持在您的清单文件中的片段。
+0
@ user2273146按照这个...还有一个解决方案在景观中制作一个xml并放入layout-land,确保id与此布局相同..... –
答
在方向更改期间,android会销毁您的活动。也许你设置了一些东西,并在变化过程中变得无效。 你可以在这里阅读更多关于它:https://developer.android.com/guide/topics/resources/runtime-changes.html
你说你想改变方向。为了完整起见,您可以将方向修复为横向或纵向,请参阅: Android - disable landscape mode?
您是否可以分享应用程序崩溃时收到的错误消息? – Rachit
@Rachit终端提供此错误引起:java.lang.NullPointerException:试图在空对象引用上调用虚拟方法'int java.lang.Integer.intValue()'。 – user2273146