zoukankan      html  css  js  c++  java
  • Fragment懒加载

    1.懒加载Fragment:

     1 public abstract class LazyFragment extends Fragment {
     2     boolean isViewPrepared; // 标识fragment视图已经初始化完毕
     3     boolean hasFetchData; // 标识已经触发过懒加载数据
     4 
     5 
     6     @Override
     7     public void setUserVisibleHint(boolean isVisibleToUser) {
     8         super.setUserVisibleHint(isVisibleToUser);
     9         if (isVisibleToUser) {//当当前为显示页面时
    10             lazyFetchDataIfPrepared();
    11         }
    12     }
    13 
    14     @Override
    15     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    16         super.onViewCreated(view, savedInstanceState);
    17         isViewPrepared = true;
    18     }
    19 
    20     @Override
    21     public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    22         super.onActivityCreated(savedInstanceState);
    23         lazyFetchDataIfPrepared();
    24     }
    25 
    26     void lazyFetchDataIfPrepared() {
    27         // 用户可见fragment && 没有加载过数据 && 视图已经准备完毕
    28         if (getUserVisibleHint() && !hasFetchData && isViewPrepared) {
    29             hasFetchData = true; //已加载过数据
    30             lazyFetchData();
    31         }
    32     }
    33 
    34     //获得数据操作
    35     abstract void lazyFetchData();
    36 }
  • 相关阅读:
    thinkphp模块设计
    thinkphp自动创建目录
    thinkphp入口文件
    thinkphp目录结构
    thinkphp环境要求
    获取ThinkPHP
    QueryList getData()方法中多次调用来实现递归多级采集。
    PHP count() 函数
    PHP mysqli_affected_rows() 函数
    QueryList 内容过滤
  • 原文地址:https://www.cnblogs.com/jeffery336699/p/9289112.html
Copyright © 2011-2022 走看看