我想添加一个我的片段,我的一个片段的适配器持有者类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);