2016-07-01 13 views
0

In den meisten Fällen werden die Netzwerkaufrufe beendet, nachdem das Fragment getrennt wurde. Deshalb gibt getActivity() null zurück. Was ist deine typische Lösung dafür?Der beste Weg, um NullPointerException nach Netzwerkanrufen zu behandeln?

Lösung # 1: Wenn das Fragment angehalten wird, beenden Sie alle Netzwerkaufrufe.

Lösung # 2: Fügen Sie ein "isDetached()" Überprüfung

Lösung # 3: Fügen Sie ein "isAdded()" Überprüfung

Lösung # 4: Haben Sie eine Referenz der Aktivität, mActivity

+0

# 4 ist kaum eine Lösung, es fragt nur nach Problemen. Es gibt einen Grund, warum getActivty() null liefert –

+0

"Was ist Ihre typische Lösung dafür?" MVP. Lesen Sie mehr [hier] (http://antonioleiva.com/mvp-android/). – Sufian

Antwort

0

Ich bevorzuge Lösung 4. Ich hatte Probleme beim Zugriff auf gemeinsame Einstellungen und getActivity() war null. Ein Verweis auf die Aktivität hat dies gelöst.

Activity mActivity; 

@Override 
public void onAttach(Activity activity) { 
    super.onAttach(activity); 
    this.mActivity = activity; 
} 
Verwandte Themen