Die letzte Revision der Support-Bibliothek von heute Morgen (Android Support Package v4 revision 11) soll verschachtelte Fragments unterstützen.
In meinem Projekt habe ich ein Fragment, das einen ViewPager enthält, und dieser ViewPager enthält mehrere Fragments.
Ich rufe getSupportFragmentManager()
auf, anstatt getFragmentManager
zu verwenden, um den FragmentManager der Support-Bibliothek zu nutzen.
Das Problem ist, dass ich immer noch Abstürze wie folgt erlebe:
java.lang.IllegalStateException: Recursive entry to executePendingTransactions
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461)
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1012)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:523)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:495)
at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1221)
at android.view.View.dispatchRestoreInstanceState(View.java:11910)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2584)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2590)
at android.view.View.restoreHierarchyState(View.java:11888)
at android.support.v4.app.Fragment.restoreViewState(Fragment.java:417)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:933)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Mache ich etwas falsch? Oder unterstützt die Library tatsächlich keine verschachtelten Fragments?
Meine Transaktionen sind so einfach wie diese:
getSupportFragmentManager().beginTransaction()
.replace(R.id.content, new MyFragment()).commit();
0 Stimmen
Was für ein Elementtyp ist R.id.content?
0 Stimmen
Hast du diesen Artikel gelesen? stackoverflow.com/questions/6185272/…
0 Stimmen
Ich habe es gerade gemacht, aber ich glaube nicht, dass das damit zusammenhängt. Mein Problem betrifft das Verschachteln der Fragmente, das Ersetzen funktioniert gut. :)
1 Stimmen
Überprüfen Sie die Antwort, die ich zu dieser ähnlichen Frage habe stackoverflow.com/questions/13379194/… Ich biete auch einen Link zu einem Repo, in dem ich eine einfache Implementierung habe.