replaceやaddした時に"tag1"などタグ名を付けていたと思うが、このタグ名からfindFragmentByTagで、Fragmentオブジェクトを探して取得することができる・・・。
FragmentManager | Android Developers
前回はMenuが7つあったが、
今回は5つに減らした・・・。
strings.xmlもそれに合わせた・・・。
Menu1の時には、もともとfragmentに"tag1"を付けている・・・。
今回は、トランザクション名はなしでnullに・・・。
Menu2は"tag2"・・・。
Menu3は"tag3"・・・。
Menu4では、fragmentManager.findFragmentByTagで"tag1"を探して、あったらFragmentオブジェクトがf1に帰ってくる・・・。
f1があれば"tag1 found."、nullだったら"tag1 not found."を表示・・・。
これを"tag2"、"tag3"についても行う・・・。
Menu5は前回のMenu7と同じ、1つ前に戻る・・・。
まず最初にMenu4・・・。
で、
で、
というように、まだFragmentを追加していないので、どれもnot found・・・。
Menu1を選択・・・。
赤い"tag1"が追加・・・。(onCreateView以降は省略・・・。)
Menu4を選択すると、
と"tag1 found."となり、
そして、
と、tag2とtag3は"not found."のまま・・・。
Menu2を選択、
緑"tag2"に変わり、
Menu4を選択、
tag1と、
tag2は"found."・・・。
tag3は"not found."・・・。
Menu3を選択、
青"tag3"に変わる・・・。
Menu4で、
そして、
そして、
と全部"found."になる・・・。
ここからはいろいろ省略するが、Menu5で緑"tag2"に戻ってからMenu4を押すと、
tag3は破棄されているのでまた"not found."になる・・・。
さらにMenu5で赤"tag1"に戻ってからMenu4を押すt、
tag2も"not found."・・・。
さらにMenu5で白い画面に戻ってから、Menu4を押すと、
tag1も含め、全て"not found."になる・・・。