自从我升级我的App以供使用 支持lib rev。 11 反编译 SDK 4.2 我收到以下错误
java.lang.IllegalStateException: Fragment already added: i{4079e598 #2 id=0x1020002 i}
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1159)
at android.support.v4.app.BackStackRecord.popFromBackStack(BackStackRecord.java:729)
at android.support.v4.app.FragmentManagerImpl.popBackStackState(FragmentManager.java:1493)
at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:477)
at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:174)
我已经阅读了有关stackoverflow的类似问题。他们中的一些人建议避免使用我不使用的替换方法。导致回滚崩溃的事务如下所示:
ft.remove(oldFrag).add(newFrag).addToBackStack(null).commit()
其他评论说如果您使用的片段转换在用户再次按下之前无法快速完成,则可能会出现这种情况。 由于我确实在给定的片段上使用过渡动画,这可能是原因。但是,删除转换不是一种选择,因为这样 只 在运行2.3.x的手机上发生,并且通过升级到lib 11和sdk 4.2引入了错误。我希望谷歌将在下一个版本中修复它。
有任何类似的问题,有关是否计划在4.2.1中修复或支持r12的信息,或建议我可以做些什么来规避错误?