2017-06-01 6 views
-2

Ich habe fatale Ausnahme in der Methode onBackPressed(): auf eine Null-Objektreferenz. Wie behandelt man die Ausnahme richtig? Mein Code:Null Objektreferenz in. OnBackPressed()

@Override 
public void onBackPressed() { 
    List fragments = getSupportFragmentManager().getFragments(); 
    BaseExampleFragment currentFragment = (BaseExampleFragment) fragments.get(fragments.size() - 1); 

    if (fragments != null && !currentFragment.onActivityBackPress()) { 
     super.onBackPressed(); 
    } 
} 
+1

Mögliche Duplikat [Was für eine Nullpointer ist, und wie kann ich es beheben?] (Https://stackoverflow.com/ Fragen/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) – VishnuSP

+0

* Wie behandelt man die Ausnahme richtig? * Fix it: 1. Überprüfen Sie, was null ist 2. Verwenden Sie nicht diesen Nullwert Referenz – Selvin

+0

@VishnuSP Sehen Sie, dass ich versuche, nicht vorhandene Daten zu verarbeiten? Aber es gibt keine Überwachung. Hast du jemals die Antwort gelesen, die du postest und meine Frage? – Roman

Antwort

1

es wäre viel einfacher, wenn Sie auch den Stack-Trace gibt. Es ist jedoch möglich, dass Sie die falsche Sache für null prüfen, wird ändern fragments-currentFragment

@Override 
public void onBackPressed() { 
    List fragments = getSupportFragmentManager().getFragments(); 
    BaseExampleFragment currentFragment = (BaseExampleFragment) fragments.get(fragments.size() - 1); 

    if (currentFragment != null && !currentFragment.onActivityBackPress()) { 
     super.onBackPressed(); 
    } 
} 
+0

danke für die antwort. Ich verstehe wirklich nicht warum, wenn es ein Fragment gibt, das aktuelle Fragment nicht existiert. Auf dem Simulator gibt es keinen Fehler, nur auf Geräten gibt es manchmal diesen Fehler. Ich bekomme es von Fabric – Roman

+0

vielleicht ist die Liste der Fragmente null –

Verwandte Themen