ViewPager下的懒加载Fragment
来源:互联网 发布:linux 查看物理内存 编辑:程序博客网 时间:2024/05/02 00:02
哎,不想传播负能量,也无心写代码和博客,直接把项目中测试通过的懒加载Fragment方法贴上来吧,直接copy到项目中,稍微配置就可以使用
/** * Created by J_X on 2016/7/29. * This Class is for Fragment, which wanna delay to load data * This Class is always use in ViewPager+Fragment firework * * @see com.study.moodline.as.activities.SignActivity * @see com.study.moodline.as.fragments.InformationFragment */public abstract class BaseLazyLoadFragment extends BaseFragment { /** * Has the fragment was visible for user? */ public boolean isUserVisiable; /** * Has view readied to create and initiate? */ public boolean isViewInitiated; /** * Has data loaded? */ public boolean isDataLoaded; @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); DebugLogUtil.getInstance().Debug("onViewCreated:"); isViewInitiated = true; getData(); } @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); DebugLogUtil.getInstance().Debug("setUserVisibleHint:"+getUserVisibleHint()); if (getUserVisibleHint()) { this.isUserVisiable = true; getData(); }else { this.isUserVisiable = false; } } /** * subclass implements this method to loading data lazily; * * @return Has loaded? */ public abstract boolean loadingData(); /** * Default Method don't need to force updating data * @return */ protected boolean getData() { return getData(false); } /** * If fragment is visible and view has initiated while data hasn't load or user force updating data, * this fragment will to loading data * @param isForceUpdate if true will force updating data * @return */ protected boolean getData(boolean isForceUpdate) { DebugLogUtil.getInstance().Error("isUserVisiable:"+isUserVisiable); DebugLogUtil.getInstance().Error("isViewInitiated:"+isViewInitiated); DebugLogUtil.getInstance().Error("isDataLoaded:"+isDataLoaded); if (isUserVisiable && isViewInitiated && (!isDataLoaded || isForceUpdate)) { this.isDataLoaded = loadingData(); return this.isDataLoaded; } return false; }}
0 0
- ViewPager下的懒加载Fragment
- ViewPager下的懒加载Fragment
- viewpager+fragment的懒加载
- ViewPager+Fragment懒加载
- Viewpager Fragment懒加载
- ViewPager+Fragment懒加载
- ViewPager+Fragment懒加载
- viewPager fragment 懒加载
- fragment viewpager 懒加载
- 实现ViewPager+Fragment的懒加载功能
- ViewPager+Fragment 懒加载的实现
- ViewPager+Fragment的懒加载模式
- ViewPager+Fragment+懒加载的修订版!
- Fragment+ViewPager实现真正的懒加载
- Android的Viewpager+Fragment懒加载
- ViewPager加载Fragment懒加载
- Android 如何控制viewpager下的fragment的延迟加载
- 关于Fragment+viewpager的取消预加载(懒加载)
- IOS第三方库总结
- Zookeeper -- 分布式服务框架介绍,管理分布式环境中的数据
- windows7 安装docker
- Spring Boot 的彩色日志
- CloverETL使用教程
- ViewPager下的懒加载Fragment
- call jmp 与机器码
- PHP和Golang使用Thrift1和Thrift2访问Hbase0.96.2(ubuntu12.04)
- STM32CubeMX:DAC
- 数组
- shell脚本中标准时间与时间戳之间的转换
- 算法最简单之_链表
- 在Eclipse中安装findbugs插件
- 【substr + 逆序数+ 线段树push_up的位置!!!】2016 Multi-University Training Contest 4