java.lang.IllegalStateException: Keine Aktivität

8

Ich erstelle eine Android-App, für die ich meine erste Aktivität aus zwei Tabs zusammenstellen möchte, eine für das Profil des Nutzers und eine für die Aktivitäten der Freunde. Für diese Tabs habe ich mich für einen TabHost entschieden, da meine Sherlock-Aktionsleiste bereits die Listennavigation verwendet, um zu anderen Aktivitäten zu wechseln, sodass ich die Tab-Navigation nicht über die Aktionsleiste verwenden kann.

Die App hat eine Weile funktioniert, aber jetzt funktioniert nur eine meiner Registerkarten. Sobald ich versuche, auf die zweite Registerkarte zu wechseln, erhalte ich eine java.lang.IllegalStateException: No activity

Ich habe die Logcat-Ausgabe für diesen Fehler hinzugefügt, obwohl ich mir nicht sicher bin, ob es hilfreich ist, da es keine Rückverfolgung zu meinem Code gibt.

Ich habe versucht, den TabHost durch einen FragmentTabHost zu ersetzen, aber der Fehler besteht weiterhin ...

Kann mir jemand bitte auf den Ursprung / die Bedeutung dieses Fehlers hinweisen? Vielen Dank im Voraus!

LOGCAT:

%Vor%

AKTIVITÄT

%Vor%

ANDROID MANIFEST

%Vor%     
2Dee 03.04.2013, 09:52
quelle

5 Antworten

22

Endlich herausgefunden, worum es ging: Der Absturz "keine Aktivität" war darauf zurückzuführen, dass ich ein falsches FragmentManager verwendet habe, um Fragmente zu verschachteln.

Bei verschachtelten Fragmenten ist das einzige gültige FragmentManager dasjenige, das in dem enthaltenden Fragment erhalten wird, indem getChildFragmentManager() .

    
2Dee 16.06.2013, 08:15
quelle
8

Ich habe diesen Fehler auch bekommen. Schließlich fand ich heraus, dass ich die Methoden onResume () onStop () falsch

überschreiben %Vor%

Es wurde in

geändert %Vor%

So dumme Fehler: P

    
Somir Saikia 03.11.2014 12:38
quelle
1

Sie müssen festlegen, dass die Transaktion festgeschrieben wird, nachdem der Status einer Aktivität gespeichert wurde ...

Verwenden Sie ft.commitAllowingStateLoss() anstelle von ft.commit()

Das wird Ihr Problem lösen.

Quelle

    
pablopatarca 11.05.2015 16:19
quelle
0

Ich habe ein Fragment in myActivity.onCreate() erstellt, indem ich Folgendes aufgerufen habe:

%Vor%

Beim Ansehen meiner App würde ich den Power-Off-Knopf drücken und dann würde die App abstürzen. Wenn das Gerät ausgeschaltet wird, werden die Aktivitäts- und Fragmentstatus anscheinend gespeichert, getrennt und dann onCreate() und onCreateView() für die Fragmente aufgerufen. In diesem Zustand kann .remove(frag) nicht aufgerufen werden, andernfalls wird Folgendes ausgelöst:

  

illegaler Status: keine Aktivität

Also, ich habe gerade .remove(frag) gelöscht und alles funktioniert wieder.

    
Chris Sprague 26.08.2015 19:34
quelle
0

In meinem Fall benutze ich einen Begrüßungsbildschirm und ich hatte MainLauncher = true in der MainActivity.

    
Sean Stayn 20.01.2018 15:36
quelle