2017-08-11 37 views
0

我想從我的片段的適配器持有者類onClick中的一個片段中添加我的片段中的一個,以完成此操作,我嘗試了下面的代碼;無法解析非片段類中的getSupportFragmentManager

@Override 
public void onClick(View view) { 


    try { 
     Activity activity = (Activity) context; 
     GalleryFragment galleryFragment = new GalleryFragment(); 
     activity.getSupportFragmentManager().beginTransaction() 
       .addToBackStack(null) 
       .add(R.id.fragment_container, galleryFragment).commit(); 


    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

} 

也試過getActivity.getSupportFragmentManager().beginTransaction() .addToBackStack(null) .add(R.id.fragment_container, galleryFragment).commit();

,但得到的錯誤不能解決.getSupportFragmentManager()。如何在我的情況下解決這個問題?

回答

0

更改您ActivityFragmentActivity

FragmentActivity activity = (FragmentActivity) context; 
activity.getSupportFragmentManager().beginTransaction()... 
+0

謝謝:),愚蠢的錯誤,你救了我的時間,會接受答案 – Gibs

0

所以它在你的適配器類吧?

如何在你的ADAP

((MainActivity) activity).getFM().beginTransaction() 
       .addToBackStack(null) 
       .add(R.id.fragment_container, galleryFragment).commit(); 

在MainActivity把這個在您的MainActivity

public FragmentManager getFM() { 
    return getSupportFragmentManager(); 
} 

然後在您的適配器類

public void goToFragment(Fragment fragment) { 
    getSupportFragmentManager().beginTransaction() 
       .addToBackStack(null) 
       .add(R.id.fragment_container, fragment).commit(); 
} 

然後ter類

((MainActivity) activity).goToFragment(galleryFragment); 
相關問題