Fragment取消(禁止)预加载 ,同时也实现了各个tab之加载一次不会在重复加载

 

Fragment取消(禁止)预加载 ,同时也实现了各个tab之加载一次不会在重复加载_第1张图片Fragment取消(禁止)预加载 ,同时也实现了各个tab之加载一次不会在重复加载_第2张图片

 

Fragment取消(禁止)预加载 ,同时也实现了各个tab之加载一次不会在重复加载_第3张图片

 

主要实现的

 Fragment取消(禁止)预加载 ,同时也实现了各个tab之加载一次不会在重复加载里面

我们发现Fragment中有一个setUserVisibleHint(boolean isVisibleToUser)方法,这个方法就是告诉用户,UI对用户是否可见,那么我们在这里去加载数据会怎么样呢? 

 


因为ViewPager会加载好多Fragment,为了节省内容等会在Fragment不可见的某个时候调用onDestroyView()将用户界面销毁掉但是Fragment的实例还在,所以可能第一次加载没有问题, 
但是再次回到第一个Fragment再去加载的时候就会出现UI对用户可见但是视图还没有初始化。
 

 

LazyLoadFragment是一个抽象类,可以作为BaseFragment,继承它。

(1).用setContentView()方法去加载要显示的布局

(2).lazyLoad()方法去加载数据

(3).stopLoad()方法可选,当视图已经对用户不可见并且加载过数据,如果需要在切换到其他页面时停止加载数据,可以覆写此方法

具体操作代码里面有,也有一些他较好的博客,我也是参观里面然后修改的

demo地址

https://download.csdn.net/download/xxb52306/11072717

你可能感兴趣的:(Fragment取消(禁止)预加载 ,同时也实现了各个tab之加载一次不会在重复加载)