5

我正在使用其中包含选项卡的操作栏,每个选项卡都是一个片段。一切都很棒,除非我在标签之间快速切换。当我进行快速切换时,我得到了这个错误:

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),这样我的应用程序就不会崩溃?

谢谢你

4

1 回答 1

3

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

于 2012-10-20T05:55:02.307 回答