2017-04-27 3 views
0

アンドロイドアプリのアクティビティからフラグメントを開くにはどうすればよいですか?私はこれを実行しようとしましたが、フラグメントは開きませんでした:オープンベースフラグメントのアクティビティ

 BaseFragment manager = new SurveysFragment(); 
     android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); 
     fragmentManager 
       .beginTransaction() 
       .replace(R.id.test_l, manager) 
       .commit(); 

答えて

0

この機能を使用

public void openFragment(Fragment fragment) { 
     android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); 

     fragmentManager.beginTransaction().replace(R.id.test_1, fragment).commit(); 
    } 

と開きたい場合は、この

openFragment(new BaseFragment()); 
+0

申し訳ありませんが、機能しませんでした。私は、フラグメントではなく、BaseFragmentを使用する必要があります。私がそれをすると、android.support.v4.app.FragmentManagerにエラーがあります –

+0

あなたはどんなエラーが出ていますか? – AbhayBohra

+0

android.app.v4.FragmentManagerを使用し、フラグメントを使用しているフラグメントが – AbhayBohra

0

のように、この関数を呼び出します のインスタンスを作成している理由よりもBaseFragment surveyFragmentインスタンスをBaseFragmentに保持しているフラグメント リファレンスo下のように変更して、BaseFragment を確認してください。拡張フラグメントはandroid.support.v4.app.FragmentManager、 である必要があります。これは、 BaseFragment内のフラグメントのインポートを確認できます。

BaseFragment manager = new BaseFragment(); 
     android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); 
     fragmentManager 
       .beginTransaction() 
       .replace(R.id.test_l, manager) 
       .commit(); 
関連する問題