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

[java] androidの2系でFragmentを使うときにちょっとハマったこと.v4support-library

android

v4support-libraryを使おうとしてはまりんぐ
FragmentTransactionを使ってFragmentをaddするときにException発生.

以下のコードはダメな例

        FragmentManager fm = getFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        Fragment fragment = new Fragment();
        ft.add(mainLayout, fragment);
        ft.commit();

サポートライブラリじゃなくて,メインのFragmentMnagerが呼ばれていたらしい.
次のように明示的に書いて一端解決

        android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
        android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
        Fragment fragment = new Fragment();
        ft.add(mainLayout, fragment);
        ft.commit();

多分importの設定直せば明示的に書かなくてもちゃんと動くと思うけど,慣れてないのでいまは明示的に書こうと思う(どうせサジェスト出るし