I'm using the following code to create a fragment everytime the user click on an item in a list view. But in this way the fragment is created at every user click. What I want is to reuse the old fragment (if it exists) and only reload its content (don't create a new one).
MagazineViewFragment fragment = new MagazineViewFragment();
fragment.openStream(itemSelected);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
How can I do?
Something like this might help:
Do not forget the null check.
Add tag when you call your fragment from activity:
If you need only to update itemSelected - see broadcasts or listeners.
There're multiple ways, probably the most easy one is to check if the current Fragment in your
container
is an instance of FragmentXYZ (in your caseMagazineViewFragment
).Example