フラグメントに問題があります。このコードを使用して、フラグメント間を移動します。
「メイン」フラグメント間(バックスタックなし、ユーザーが押したときに終了するようにするため(機能します)):
FragmentManager fragmentManager = getFragmentManager();
final FragmentTransaction ft = fragmentManager.beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_up_honeycomb, R.anim.slide_out_up_honeycomb);
ft.replace(R.id.container, NewsFragment.newInstance(position + 1), NewsFragment.class.getSimpleName());
ft.commit();
「内側」のフラグメント間 (バックスタックあり):
FragmentTransaction ft = ((Activity) getActivity()).getFragmentManager().beginTransaction();
Fragment nextFragment = LexikonDetailFragment
.newInstance(item);
ft.setCustomAnimations(R.anim.slide_in_up_honeycomb, R.anim.slide_out_up_honeycomb);
ft.replace(R.id.container, nextFragment);
ft.addToBackStack(LexikonDetailFragment.class.getSimpleName());
ft.commit();
ただし、次の場合:
フラグメント A -> フラグメント A1
フラグメント A1 -> フラグメント B
戻るボタンを押す (アプリを終了する必要があります) -> フラグメント A1 に戻ります
A1 フラグメントはバックスタックから削除されず、バックグラウンドにとどまっているようです。考えられる解決策の1つは、すべてのフラグメントに白い背景を設定することだと思いました..しかし、これは問題を解決せず、単に非表示にするだけです. では、可能な解決策は何でしょうか?