読者です 読者をやめる 読者になる 読者になる

FragmentManager

FragmentManagerは、Fragmentを管理するクラス・・・。

FragmentManager | Android Developers

findFragmentByIdで、fragmentタグで指定したidからFragmentオブジェクトを探して取得してみる・・・。

前回とほとんど同じプログラムで、大きく違うところはMainActivity.javaの、

getFragmentManagerでFragmentManagerを取得できる・・・。
で、そしたら、fragmentManager.findFragmentByIdで、"R.id.fragment1"のidを持つFragmentオブジェクトを探してもらう・・・。
前回の赤いFragment・・・。
で、見つかったら"fragment1 is exist!"、なかったら"fragment1 is not exist!"とToast表示・・・。

次に"R.id.fragment2"で探してもらう・・・。
こちらは前回の青いFragment・・・。

最後は、存在しないidを指定して、fragment3という受け皿にnullが返ってくるかを確認している・・・。
とはいえ、本当にデタラメなのを指定するとビルドエラーになるので、別のところで使っているTextViewのid"R.id.fragment1_textview"を指定する・・・。

activity_main.xmlには、fragment1とfragment2というidはあるよね・・・。

で実行すると、

f:id:BG1:20160625165555p:plain

fragment1はあった・・・。

f:id:BG1:20160625165612p:plain

fragment2もあった・・・。

f:id:BG1:20160625165636p:plain

3つ目のidはFragmentじゃないので、fragment3にはnullが返ってくる・・・。

Sample/android/FragmentManager/FragmentManager/src/FragmentManager/FragmentManager_ at master · bg1bgst333/Sample · GitHub