Android 无法在非片段类中解析getSupportFragmentManager

Android 无法在非片段类中解析getSupportFragmentManager,android,android-fragments,Android,Android Fragments,我想从中添加一个片段,片段的适配器持有者类onClick中的一个,或者为了做到这一点,我已经尝试了下面的代码 @Override public void onClick(View view) { try { Activity activity = (Activity) context; GalleryFragment galleryFragment = new GalleryFragment(); activity.getSuppo

我想从中添加一个片段,片段的适配器持有者类onClick中的一个,或者为了做到这一点,我已经尝试了下面的代码

  @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(空)
.add(R.id.fragment_容器,galleryFragment).commit()


但是获取错误无法解决。getSupportFragmentManager()。在我的情况下如何解决此问题?

将您的
活动更改为
FragmentActivity

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

所以它在适配器类中,对吗

把这个放在你的主要活动中怎么样

public FragmentManager getFM() {
    return getSupportFragmentManager();
}
public void goToFragment(Fragment fragment) {
    getSupportFragmentManager().beginTransaction()
                .addToBackStack(null)
                .add(R.id.fragment_container, fragment).commit();
}
然后在适配器类中

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

在你的主要活动中

public FragmentManager getFM() {
    return getSupportFragmentManager();
}
public void goToFragment(Fragment fragment) {
    getSupportFragmentManager().beginTransaction()
                .addToBackStack(null)
                .add(R.id.fragment_container, fragment).commit();
}
然后在适配器类中

((MainActivity) activity).getFM().beginTransaction()
                .addToBackStack(null)
                .add(R.id.fragment_container, galleryFragment).commit();
((MainActivity) activity).goToFragment(galleryFragment);
谢谢:),愚蠢的错误,你节省了我的时间,会接受答案的