Viewpager Retaing Old Fragments On Screen Rotation
Solution 1:
Only override this method in FragmentpagerAdapter
@OverridepublicvoiddestroyItem(ViewGroup container, int position, Objectobject) {
// TODO Auto-generated method stubsuper.destroyItem(ViewGroup container, int position, Objectobject);
}
then remove super.destroyItem(ViewGroup container, int position, Object object);
from your code
Solution 2:
I solved the problem, I am posting my solution here. I override instantiateItem of FragmentStatePagerAdapter and inside it I am getting object from super.instantiateItem and comparing its classname with classname of object at that position from list of fragments that I am maintaining.
If classname is not same its mean super.instantiateItem returns duplicate fragment. So I am calling destroyItem at that position and again calling super.instantiateItem and returning it from instantiateItem.
FragmentStatePagerAdapter return old fragment because in framework code arraylist mFragments has duplicate fragment and it just return fragment at current position. I think it should compare fragment at the position in list with currently displaying fragment before returning it.
Post a Comment for "Viewpager Retaing Old Fragments On Screen Rotation"