Android 无法在非片段类中解析getSupportFragmentManager
我想从中添加一个片段,片段的适配器持有者类onClick中的一个,或者为了做到这一点,我已经尝试了下面的代码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
@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);
谢谢:),愚蠢的错误,你节省了我的时间,会接受答案的