Activity创建的fragment与viewpager中管理

2021-04-30  本文已影响0人  學绘u

使用viewpager的时候,FragmentPagerAdapter的instantiateItem函数的实现默认是重用之前使用过的fragment。应用进程还在,当activity被回收重建的时候,viewpager使用的fragment依旧是之前的,但是代码里面没有去找回fragment的引用,直接new出来,导致tab点击refresh的fragment和实际上viewpager用的fragment不一致。


image

修复方案:重写getItemId方法,防止通过getItemId获得的id拿到旧的fragment。

@Override
public long getItemId(int position) {
    return mFragments[position].hashCode();
}
上一篇下一篇

猜你喜欢

热点阅读