アプリをアップグレードして、support 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 にアップグレードすることでバグが導入されたため、Google が次のリリースで修正することを願っています.
同様の問題、これが 4.2.1 で修正される予定か、r12 をサポートする予定かに関する情報、またはエラーを回避するために私ができることの提案はありますか?