| |||||||
Das Thema "Fragment isAdded() = true aber remove nicht möglich wegen Fragment not Added Excep." befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 04.08.2011
Beiträge: 16
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
| wie im Titel beschrieben habe ich dieses sehr strange Problem. Es tritt auf sobald ich meine App mit dem HomeButton pausiere und dann wieder resume() und z.B. das aktuelle Fragment wechsle. Der Rahme der App sieht so aus das ich zwei Fragments habe, die wieder jeweils aus 2 subFragments bestehen. Sobald ich durch die ActionBar von dem einen in das andere wechsle und vorher den HomeButton gedrückt habe, kommt diese Exception und hindert mich gerade. Mit drücken des HomeButtons wird onStop von meinem Fragment durchlaufen, da meckert er zunächst das er kein commit von einer Transaction ausführen kann wenn vorher onSaveInstanceState gelaufen ist. Das kümmert mich auch nicht so habe ich durch try catch block gelöst. Wenn ich aber nach dem resume meiner app auf Fragment Konstrukt 2 wechseln will schmiert er mit der Fehlermeldung Fragment not added ab. Die beiden Hauptfragments die die GUI ausmachen entfalten jeweils eine GUI in der 2 weitere Fragments im xml eingetragen werden. laut fragmentmanager befinden sich diese beiden auch noch in dem added array, allerdings lassen sie sich nicht mehr durch remove zum entfernen bringen, obwohl ich sie mit manager.findFragmentById(R.id.myFragment) identifizieren kann und sie als isAdded angezeigt werden. Die Adressen der Fragments im Manager und der Fragments die ich mir mit findFragmentBy... hole sind ebenfalls gleich. Ich weiß echt nicht weiter. Liebe grüße Terth PS: Code: @Override
public void onStop()
{
super.onStop();
FragmentManager manager = getFragmentManager();
Log.d("Test", "BackStackEntries: "+manager.getBackStackEntryCount());
try
{
FragmentTransaction ft = manager.beginTransaction();
Fragment fList = manager.findFragmentById(R.id.fragment_ontology_list);
Fragment fContent = manager.findFragmentById(R.id.fragment_ontology_content);
boolean bisAdded = fList.isAdded();
ft.remove(fList);
ft.remove(fContent);
ft.commit();
}
catch(IllegalStateException e)
{
Log.d("Test", getClass().getName()+": "+e.toString());
}
Log.d("Test", getClass().getName()+": Stop");
} |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Verbindung zu WLAN wegen unbekannter & unsichtbarer SSID nicht möglich | Hakan.96 | Smalltalk und Offtopic | 9 | 04.12.2011 16:33 |
| Fragment neu laden | Ceon | Android App Entwicklung | 1 | 23.09.2011 09:13 |
| Galaxy S resetten nicht möglich, wegen Lockscreen-Passwort | electroman | Samsung Galaxy S (I9000) Forum | 2 | 27.06.2011 20:20 |
| Update auf 2.3.3 nicht möglich wegen vorherigem Root? | htxmaxx | HTC Desire HD Forum | 17 | 24.06.2011 14:20 |
| A2SD-Speicher nicht voll, aber Installation neuer Apps nicht möglich | Mortusor | Root / Hacking / Modding für HTC Desire | 15 | 06.09.2010 15:59 |