FragmentPagerAdapter默认会保存的三个item,也就是现在这个item-C,item-C 的前一个 item-B 和 item-C 的后一个 item-D。
在滑动过程中,适配器默认会把前一个(item-B)之前的item(item-A) destroy掉,所以当滑动回来时就依然会重新加载(数据恢复默认了)。
也就是还会执行一次onCreateView的方法。
其原因就是适配器销毁了之前的item,那么,解决方法就是不让他对之前的item进行销毁。
代码:
@Override public void destroyItem(ViewGroup container, int position, Object object) { System.out.println("position Destory" + position); // super.destroyItem(container, position, object); }在适配器里重写:destroyItem方法,将super注销掉,就不会执行默认的destroyItem方法了。