更改设备方向时应用程序崩溃

时间:2016-09-21 04:54:30

标签: android android-fragments

In graph i plot value from calling api. 我已在片段类中显示此graph,当我更改方向时,应用程序将崩溃。如何在landscape模式下更改方向和显示图像而不会导致应用崩溃。

2 个答案:

答案 0 :(得分:11)

当方向改变时,片段的状态将被改变。您需要通过调用

来保存片段的状态
setRetainInstance(true);

onCreate()方法中。

您还可以使用onRestoreInstanceState()方法存储savedInstanceState

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    onCreate(savedInstanceState);
}

最好的解决方案就是添加

android:configChanges="orientation|screenSize|keyboardHideen"

用于将您的片段保存在清单文件中的活动。

答案 1 :(得分:1)

在方向更改期间,android会破坏您的活动。也许你设置了一些东西,在那次改变中它变得无效。 您可以在此处详细了解:https://developer.android.com/guide/topics/resources/runtime-changes.html

你说你希望能够改变方向。为了完整起见,您可以将方向修改为横向或纵向,请参阅: Android - disable landscape mode?