android Listview(第一项未滑出屏幕)自动回到顶部

一个诡异的现象:

viewpager里面放三个Fragment,每个Fragment里面是个listview,如下三张图
图片说明

图片说明

图片说明

下面开始操作,第一个Fragment里,listview上滑一点(**第一个item不滑出屏幕**)如下图
图片说明

这时候切换到第三个Fragment后,再返回至第一个,这时候的第一个Fragment 变成了在最顶部的位置,如下图
图片说明

诡异现象来了
操作 第一个Fragment里,listview上滑至**第一个item滑出屏幕**,如下图
图片说明

再做上面的切换步骤后,返回第一个Fragment 保持的位置是不变的

viewPager使用的是FragmentStatePagerAdapter,如果会有销毁视图的情况发生,那为什么 listview上滑至**第一个item滑出屏幕** 后位置是不变的,
代码就不贴了,都是基础的listview.setAdapter() ,listview每一项里就放了个textView,
不知道有什么办法可以一直保持着listview的位置

viewpager预加载试试 把剩下的界面都加载出来应该不会销毁了吧

建议用这个viewpager.setOffscreenPageLimit()

推荐查看:

1、FragmentPagerAdapter:该类内的每一个生成的 Fragment 都将保存在内存之中
2、FragmentStatePagerAdapter:只保留当前页面,当页面离开视线后,就会被消除,释放其资源

两者区别:http://www.cnblogs.com/lianghui66/p/3607091.html