无法在非片段类中解析getSupportFragmentManager

时间:2017-08-11 01:28:48

标签: android android-fragments

我想添加一个我的片段,我的一个片段的适配器持有者类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(null) .add(R.id.fragment_container, galleryFragment).commit();

但是得到错误无法解决.getSupportFragmentManager()。如何解决这个问题呢?。

2 个答案:

答案 0 :(得分:1)

Activity更改为FragmentActivity

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

答案 1 :(得分:0)

所以它在你的适配器类中吗?

如何将此功能放入您的MainActivity

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

然后在适配器类

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

中的

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

然后在适配器类

((MainActivity) activity).goToFragment(galleryFragment);