IllegalStateException: Fragment already added in the tabhost fragment
You just have to check one condition in your fragment mentioned below:
if(!isAdded())
{
return;
}
isAdded = Return true if the fragment is currently added to its activity. Taken from the official document.
This will not add that fragment if it is already added
Check below link for a reference:
http://developer.android.com/reference/android/app/Fragment.html#isAdded()
This happens when we try to add same fragment or DialogFragment twice before dismissing,
just call
if(mFragment.isAdded())
{
return; //or return false/true, based on where you are calling from
}
Having said that, I don't see any reason why to remove old fragment and add the same fragment again since we can update the UI/data by simply passing parameters to the method inside the fragment
Sometimes it happens for not finding proper id from the respective layout. I faced this problem. Then after many hours I found that I set wrong recyclerview id. I change it, and works fine for me.
So, double check your fragment layout.
Remove the old fragment in case it is still added and then add the new fragment:
FragmentManager fm = getSupportFragmentManager();
Fragment oldFragment = fm.findFragmentByTag("fragment_tag");
if (oldFragment != null) {
fm.beginTransaction().remove(oldFragment).commit();
}
MyFragment newFragment = new MyFragment();
fm.beginTransaction().add(newFragment , "fragment_tag");