1、本人理解懒加载和预加载问题某种情况下可以归结为一类问题,下面我就说一下我遇到的预加载问题和懒加载问题及解决的相应方法:
- [1 ] 预加载问题
描述:我用到了三个fragment、viewpage及tablayout实现点击切换、滑动切换。
解决方法一(不成功,可以借鉴)、我百度网上给的方法说禁止viewpage预加载要改动v4包中viewpage类中一个全局变量(那个变量就不细说了,网上都有),我按照上面说的,复制android 4.0的v4包中的viewpage代码,还需要修改一下才行,终于没错了,然后所有的viewpage都换成这个,问题出现了,tablelayout与viewpage关联的时候出错了,问题大致意思就是这个viewpage不是v4包中的viewpage,我看了一下tablelayout中的代码,果真如此,里面关联方法中的参数写的死的,必须是v4包中的viewpage,到这我不是道以我的能力要这样实现,估计要复制所有相关代码,所以果断放弃。
解决方法二、fragment类中有一个方法,当fragment可见或影藏的时候都会调用这个方法,调用顺序在onCreateView方法之前。现在上代码。
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
isshow=isVisibleToUser;
if(!firstshow){ //判断是否是第一次可见
if(isshow){ //判断是否可见
showdialog();
getdata();
}
}
}
当然这样判断并没有解决我的问题,我在oncreateview中加了判断,如果是第一次展示,那么要再onCreateview中加载数据,否则可以再setUserVisibleHint方法中加载。
if(firstshow&&isshow){
showdialog();
getdata();
firstshow=false;
}
所有的问题在这就结束了。如有什么问题可以留言,因为博客我有问题才会看,并且更新,特别急的问题可以发邮件:hello.zzh@qq.com