我正在使用其中有选项卡的操作栏,每个选项卡都是一个 fragment 。一切都很好,除非我在选项卡之间快速切换。当我进行快速切换时,我遇到了这个错误:
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)
这是我的 OnTapSelected 代码
if (mFragment == null) {
mFragment = (SherlockFragment) SherlockFragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(mFragment);
}
有什么办法可以解决这个问题吗?或者,如果没有,我怎样才能至少捕捉到这个异常(比如将 try/catch 放在哪里),这样我的应用程序就不会崩溃?
谢谢
最佳答案
尝试使用显示/隐藏而不是使用附加。您将需要对所有 fragment 的引用,但如果您将它们全部添加,则显示正确的 fragment 并隐藏可能修复它的其余部分。
关于android - java.lang.IllegalStateException : Recursive entry to executePendingTransactions with fast switching 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12985416/