2016-07-07 5 views
0

なぜこのコードがエラーを投げているのですか?エラーの原因をトレースしています。java.lang.NullPointerException

if (getActivity().getApplicationContext() != null){ 
    File file = new File(getActivity().getApplicationContext().getFilesDir() + "/img.jpg"); } 

上記のコードは私のフラグメント内

私のエラーです:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()' on a null object reference 
+2

おそらく、何の活動もありません。 – ifly6

+0

@ ifly6 allright、どうすればこれを防ぐことができますか?任意のアイデア –

+0

ヌルをチェックしたい場合は、ヌルチェックを変更する可能性があります。 – ifly6

答えて

3

あなたは、これはもう存在しないか、アクティブに開始していない別々のAsyncTaskまたはスレッドと活動でこれを実行している場合。 getActivity()はnullを返します。

解決策は、getActivity()。getApplicationContext()と一緒にgetActivity()もnullチェックを追加することです。

+0

+1この答えは通常の場合です。また、コードがコンストラクタ内にあり、ライフサイクル内でonCreate以上でなく、小さなコードサンプルではわかりにくい場合もあります。 –

+0

私にこれをチェックするいくつかの例を挙げることができますか? –

関連する問題