Reputation: 1855
I want to add one of my fragment from ,one of my fragment's adapter holder class onClick ,in oreder to do this i have tried below code;
@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();
}
}
also tried getActivity.getSupportFragmentManager().beginTransaction()
.addToBackStack(null)
.add(R.id.fragment_container, galleryFragment).commit();
but getting the error can not resolve .getSupportFragmentManager().How to solve this in my case?.
Upvotes: 1
Views: 677
Reputation: 1471
so it is in your adapter class right?
How about put this in your MainActivity
public FragmentManager getFM() {
return getSupportFragmentManager();
}
Then in your adapter class
((MainActivity) activity).getFM().beginTransaction()
.addToBackStack(null)
.add(R.id.fragment_container, galleryFragment).commit();
or
in your MainActivity
public void goToFragment(Fragment fragment) {
getSupportFragmentManager().beginTransaction()
.addToBackStack(null)
.add(R.id.fragment_container, fragment).commit();
}
Then in your adapter class
((MainActivity) activity).goToFragment(galleryFragment);
Upvotes: 0
Reputation: 60973
Change you Activity
to FragmentActivity
FragmentActivity activity = (FragmentActivity) context;
activity.getSupportFragmentManager().beginTransaction()...
Upvotes: 1