我正在使用带有标签的操作栏,每个标签都是一个片段。除非我在标签之间快速切换,否则一切都很棒。当我快速切换时,我得到了这个错误:
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放在哪里)所以我的应用程序不会崩溃?
谢谢
答案 0 :(得分:3)
而不是使用附加,尝试使用show / hide。您需要引用所有片段,但如果您将它们全部添加,则显示正确的片段并隐藏可能修复它的其余部分。