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

时间:2012-10-20 05:00:46

标签: 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)

这是我的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放在哪里)所以我的应用程序不会崩溃?

谢谢

1 个答案:

答案 0 :(得分:3)

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