0

Ich habe eine MainActivity. Diese MainActivity enthält ein TabLayout mit Fragmenten. Ich rufe von den MainActivity-Funktionen im Fragment an, wenn der Benutzer beispielsweise einen Tab geändert hat.Nullpointer-Ausnahmen beim Zurückkehren zur Anwendung erhalten

Bis jetzt funktioniert alles gut. Wenn die Anwendung jedoch nicht vor und wenn es fortgesetzt wird, und dieselben Funktionen erneut aufgerufen werden, erhalte ich oft Nullpointer-Ausnahmen. Scheint es, als ob die in OnCreateView erstellten Objekte zerstört werden?

Was ist die beste Vorgehensweise in dieser Situation?

+0

Erstellen Sie Fragmente mit nicht leeren Konstruktoren? Bitte posten Sie Ihren Code. – TpoM6oH

Antwort

0

Immer wenn Ihre App vom Hintergrund in den Vordergrund rückt, wurde die Aktivität möglicherweise abgebrochen und das System erstellt eine weitere Instanz mit dem Paket, das Sie in onSaveInstanceState übergeben. Die Aktivitätsinstanz, das Fragment wurde angefügt, wird also zerstört, und dies ist eine neue Instanz, die das Fragment nicht kennt.

Sie müssen den Fragmentstatus mit fragment.isAdded() und dem Fragment isVisible() überprüfen, bevor Sie der Aktivität Fragmente hinzufügen oder entfernen. Wahrscheinlich haben Sie dort möglicherweise Nullzeiger-Ausnahmen. Ich hoffe es hilft.

Verwandte Themen