ViewPage+frament不预载入下一个Frament数据解决的方法

版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/shaozucheng/article/details/34810217

在做一个ViewPage+Frament 滑动数效果,当滑动到每一页时载入哪一页的数据,可是ViewPage会预载入下一也数据。这个问题之前做项目是一直未解决。今天找到一个方法一下子就解决的这个问题。Frament里面有一个setUserVisibleHint方法,setUserVisibleHint每次fragment显示与隐藏都会调用,以下说一下这种方法的使用
 @Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
 //可见时载入数据相当于Fragment的onResume
}else{
   //不可见是不载入数据
}
}

由于setUserVisibleHint优于onCreate调用,所以当onCreate调用完成setUserVisibleHint就不会触发,使用这种方法可能会有一些问题。由于这种方法是在onCreate方法之后执行的。一进来有时候可能看不到第一页的数据,这个时候
你能够在onCreate 或者是onCreateView里面进行推断
           if (getUserVisibleHint()) {
    //载入数据相当于Fragment的onPause
  }
这样就能看到第一页的数据了!

posted @ 2019-03-29 09:43  ldxsuanfa  阅读(112)  评论(0)    收藏  举报