java.lang.IllegalStateException:使用快速切换递归进入executePendingTransactions

Sna*_*ake 5 android actionbarsherlock

我正在使用动作栏,其中有标签,每个标签都是一个片段.除非我在标签之间快速切换,否则一切都很棒.当我快速切换时,我得到了这个错误:

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)
Run Code Online (Sandbox Code Playgroud)

这是我的OnTapSelected代码

if (mFragment == null) {

    mFragment = (SherlockFragment) SherlockFragment.instantiate(mActivity, mClass.getName(), mArgs);
    ft.add(android.R.id.content, mFragment, mTag);


} else {


    ft.attach(mFragment);
}
Run Code Online (Sandbox Code Playgroud)

我能解决这个问题吗?或者如果没有,我怎么能至少捕获这个异常(比如把try/catch放到哪里)所以我的应用程序不会崩溃?

谢谢

小智 3

不要使用附加,而是尝试使用显示/隐藏。您将需要对所有片段的引用,但如果将它们全部添加,则显示正确的片段并隐藏可能修复该问题的其余片段。