刷新时只是把fragments列表清空了,但是原有的fragment其实还存在,adapter找的时候发现没有销毁还是会用之前的,在用的时候不取位置信息直接取fragment的hashCode内部会自己校验
解决方案:
方案一:
继承FragmentPagerAdapter更改为FragmentStatePagerAdapter
方案二:
重写getItemId方法
@Override
public long getItemId(int position) {
//修改getItemId 不与位置对应 返回List<Fragment>中Fragment的hashCode
return mFragments.get(position).hashCode();
}