Fragment を BACKキーで戻すのが失敗したら、

Android Fragment を切り替えた後、BACKキー押して Fragment を戻す場合のやり方は、

FragmentTransaction replace add の後で、addToBackStack を null 指定して実行しておくのだが、

戻らず、Activity が検知して終わってしまうことがある。

stackoverflow に、そこそこの Vote UP があるみたいだが、、、
http://stackoverflow.com/questions/7992216/android-fragment-handle-back-button-press


Activity の onBackPressed において、 FragmentManager の getBackStackEntryCount() で問い合わせて、
0だったら、もう一度、super.onBackPressed()
を実行すれば、きちんと戻って
Fragment がスタックに無いことで終了できるではないですか。

FragmentTransaction tx = getFragmentManager().beginTransaction();
tx.replace(R.id.container, fragment);
tx.addToBackStack(null);
tx.commit();
============
@Override
public void onBackPressed(){
   super.onBackPressed();
   if (0==getFragmentManager().getBackStackEntryCount()){
      super.onBackPressed();
   }
}