主要实现的
Fragment取消(禁止)预加载 ,同时也实现了各个tab之加载一次不会在重复加载里面
我们发现Fragment中有一个setUserVisibleHint(boolean isVisibleToUser)方法,这个方法就是告诉用户,UI对用户是否可见,那么我们在这里去加载数据会怎么样呢?
因为ViewPager会加载好多Fragment,为了节省内容等会在Fragment不可见的某个时候调用onDestroyView()将用户界面销毁掉但是Fragment的实例还在,所以可能第一次加载没有问题,
但是再次回到第一个Fragment再去加载的时候就会出现UI对用户可见但是视图还没有初始化。
LazyLoadFragment是一个抽象类,可以作为BaseFragment,继承它。
(1).用setContentView()方法去加载要显示的布局
(2).lazyLoad()方法去加载数据
(3).stopLoad()方法可选,当视图已经对用户不可见并且加载过数据,如果需要在切换到其他页面时停止加载数据,可以覆写此方法
具体操作代码里面有,也有一些他较好的博客,我也是参观里面然后修改的
demo地址