複数のフラグメントをaddした後のフラグメント表示の切り替えに関してはshowとhideを使って切り替える・・・。
FragmentTransaction | Android Developers
追加した後は、削除されない限り、ライフサイクルに変化がないので、showやhideで表示と非表示を繰り返しても画面の状態は維持されるようだ・・・。
Menuは3つに減らした・・・。
strings.xmlもそれに合わせる・・・。
findFragmentByTagで"tag1"の付いたf1が見つかった場合、fragmentTransaction.showでf1を表示・・・。
これで他のFragmentが非表示になってくれればいいのだが、どうもそうではないようなので、
"tag2"の付いたf2、"tag3"の付いたf3をhideで非表示にする・・・。
FragmentTransaction | Android Developers
("tag2", "tag3"が見つからなければ、元から追加されてないので何もする必要は無い・・・。)
Menu2の場合は、f2をshow、f1とf3をhide・・・。
Menu3の場合は、f3をshow、f1とf2をhide・・・。
Menu1を選択・・・。
赤い"tag1"がaddされた・・・。
Menu2を選択・・・。
緑の"tag2"がaddされた・・・。
Menu3を選択・・・。
青の"tag3"がaddされた・・・。
再びMenu1を選択・・・。
既にaddされた"tag1"がshowで再表示・・・。"tag2", "tag3"はhideで非表示・・・。
どのハンドラも呼ばれてないのでライフサイクルが変化していないのがわかる・・・。
Menu2で、
"tag2"だけ表示・・・。
Menu3で、
"tag3"だけ表示・・・。