2016-11-14 11 views
1

自分のアクティビティからアクティブにしたい自分のフラグメントを作成します。私のmainActivityファイルは純粋なアクティビティです(FragmantActivityやその他のものではありません)。カスタムのフラグメントをパラメータとして使用できないのはなぜですか?アクティビティからカスタムフラグメントを呼び出す

if (savedInstanceState == null) { 
     // Add the fragment on initial activity setup 
     myFragment = new CustomFragment(); 
     getFragmentManager() 
     .beginTransaction() 
       .add(android.R.id.content, myFragment) 
       .commit(); 

私は2番目のパラメータ.add()メソッドは、フラグメントでなければならないことを私に言ってコンパイルエラーを取得していますが、「myFragmentは」フラグメントのクラスを派生CustomFragmentです。どのようにしてこの断片を正常な活動から活性化するのですか?

+0

CustomFragmentが 'android.support.v4.app'からではなく 'android.support.v4.app'から継承されていることを確認してください –

+0

私のcustomFragmentは 'android.support.v4.app.Fragment'である必要があります。 。 –

+1

は、代わりにgetFragmentManager() –

答えて

0

フラグメントのインポートと一貫していることを確認してください。すべてのクラスでimport android.app.Fragmentを使用するか、android.support.v4.app.Fragmentをインポートします。すべてのクラスで。混在しないでください

FragmentActivityのFragmentActivityまたは任意の子クラスは、サポートライブラリのフラグメントのみを保持できます。したがって、あなたのアクティビティの親クラスをFragmentActivityに変更すると、動作します。 AppCompatActivityはFragmentActivityから継承するので、これも機能します。

関連する問題