2016-07-01 8 views
0

ほとんどの場合、フラグメントがデタッチされた後にネットワークコールが終了するため、getActivity()はnullを返します。これに対する典型的な解決策は何ですか?ネットワーク通話後にNullPointerExceptionを処理する最善の方法は?

解決策1:フラグメントが一時停止したら、すべてのネットワークコールを終了します。

策#2:追加 "isDetached()" をチェック

溶液#3:追加 "isAdded()" をチェック

ソリューション#4:アクティビティの参照を持って、mActivity

+0

#4はほとんど解決策ではありません。ただ問題を求めているだけです。 getActivty()がnullを返す理由があります –

+0

"これにあなたの典型的な解決策は何ですか?" MVP。それについて[ここ](http://antonioleiva.com/mvp-android/)を読んでください。 – Sufian

答えて

0

私は解決策4を好みます。共有設定にアクセスする際に問題があり、getActivity()がnullでした。アクティビティへの参照を持ってこれを解決しました。

Activity mActivity; 

@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 
    this.mActivity = activity; 
} 
関連する問題