2017-08-11 59 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);