Ich benutze eine Aktionsleiste, in der es Registerkarten gibt, jede Registerkarte ist ein Fragment. Alles ist großartig, außer wenn ich schnell zwischen den Tabs umschalte. Wenn ich ein schnelles Schalten zu tun, ich diesen Fehler erhalten:java.lang.IllegalStateException: Rekursiver Eintrag für executePendingTransactions mit schnellem Wechsel
java.lang.IllegalStateException: Recursive entry to executePendingTransactions
at android.support.v4.app.FragmentManagerImpl.execPendingActions(Unknown Source)
at android.support.v4.app.FragmentManagerImpl$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
Hier ist für meinen Code OnTapSelected
if (mFragment == null) {
mFragment = (SherlockFragment) SherlockFragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(mFragment);
}
Jede Art und Weise ich dieses Problem beheben? Oder wenn nicht, wie kann ich diese Ausnahme zumindest abfangen (wie zum Beispiel den Versuch/Fang), damit meine App nicht abstürzt?
danke
Wo begehen Sie die fragmenttransaction? – toadzky
Ich bin nicht. Wenn ich einen Tab-Listener hinzufüge, mache ich nur im Konstruktor Commit. Aber onTabSelected, ich verpflichte mich nicht nach dem Hinzufügen/Anfügen. Soll ich? – Snake
Wenn Sie keine Festschreibung vornehmen, werden keine Änderungen wirksam. Ich denke nicht, dass es automatisch begangen wird. hier sind die [docs] (http://developer.android.com/reference/android/app/FragmentTransaction.html#commit()) – toadzky