2016-09-21 6 views
1

In graph i plot value from calling api. このをフラグメントクラスに表示していますが、向きを変更するとアプリケーションがクラッシュします。アプリをクラッシュさせずに、landscapeモードで向きを変えて画像を表示するにはどうすればいいですか?デバイスの向きを変更するとアプリケーションクラッシュが発生する

+0

アプリがクラッシュしたときに表示されるエラーメッセージを共有できますか? – Rachit

+0

@Rachit端末がこのエラーを出力する原因:java.lang.NullPointerException:nullオブジェクト参照で仮想メソッド 'int java.lang.Integer.intValue()'を呼び出そうとしています。 – user2273146

答えて

11

方向が変更されると、フラグメントの状態が変更されます。

setRetainInstance(true); 

onCreate()の方法でフラグメントの状態を保存する必要があります。

また、単にあなたのマニフェストファイル内の断片を保持しているあなたの活動のために

android:configChanges="orientation|screenSize|keyboardHideen" 

を追加しているあなたのsavedInstanceState

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

最適なソリューションを格納するonRestoreInstanceState()メソッドを使用することができます。

+0

@ user2273146これに続きます...もう1つの解決策は、ランドスケープでXMLを作成し、レイアウトの土地に置くことです.IDはこのレイアウトと同じです..... –

1

オリエンテーションの変更中に、アンドロイドがあなたのアクティビティを破壊します。多分あなたは何かを設定し、その変化の間に無効になりました。 あなたはそれについてもっと読むことができます:https://developer.android.com/guide/topics/resources/runtime-changes.html

あなたは向きを変えたいと思っています。完全性のために、向きを横向きまたは縦向きに修正することができます。 Android - disable landscape mode?

関連する問題