Let's say that I have a fragment inside a container that I should replace with an other fragment.
The code is quite simple:
getSupportFragmentManager().beginTransaction().
replace(R.id.content_frame,fragmentToAdd).addToBackStack(null).commit();
The problem is now that I want to make sure that fragmentToAdd is not similar to the fragment I will replace.
If this is the case, the app should do nothing.
So, I can get the original Fragment:
Fragment originalFragment=(Fragment) getSupportFragmentManager().findFragmentById(R.id.content_frame);
and the final code would be something like:
if (haveDifferentInstance(originalFragment,fragmentToAdd)){
getSupportFragmentManager().beginTransaction().
replace(R.id.content_frame,fragmentToAdd).addToBackStack(null).commit();}
else
// Do nothing
So, what could be the code for haveDifferentInstance(Fragment fragmentA, Fragment fragmentB)?
Thank for any help.
EDIT
I know that I can do somethinh like:
if (fragmentToAdd instanceof FragmentA)
But has I have FragmentA, FragmentB, .... Fragment F, I don't want to use a 'if' per type of Fragment.
Check if the class are equal : if(origianalFragment.getClass().equals(fragmentToAdd.getClass()))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With