今回は、android.app.Fragmentとandroid.support.v4.app.Fragmentの共存で起こるエラーについてです。 例えば、以下のようなソースでエラーとなる場合があります。 [ソース] public void onNavigationDrawerItemSelected(int position) { FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction() .replace(R.id.container, MyFragment.newInstance(position)) .commit(); } [エラー] replace(int, android.support.v4.app.Fragment) in FragmentTransaction cannot be applied to (int, XXX.MyFragment) これは、getSupportFragmentManager()で取得したFragmentManagerのreplace()メソッドに於いて、android.app.FragmentによるMyFragmentクラスのインスタンスを引数にとることは出来ないというエラーです。 対策として、 この場合、MyFragmentクラスに於けるインポートを import android.app.Fragment; から import android.support.v4.app.Fragment; に変更すれば解決します。
コメント
コメントを投稿