首页 > 其他 > 详细

Fragment实现延迟加载

时间:2016-08-12 14:52:25      阅读:96      评论:0      收藏:0      [点我收藏+]
  1. import android.support.v4.app.Fragment;  
  2.   
  3. public abstract class BaseFragment extends Fragment {  
  4.     /** Fragment当前状态是否可见 */  
  5.     protected boolean isVisible;  
  6.   
  7.     //setUserVisibleHint  adapter中的每个fragment切换的时候都会被调用,如果是切换到当前页,那么isVisibleToUser==true,否则为false  
  8.     @Override  
  9.     public void setUserVisibleHint(boolean isVisibleToUser) {  
  10.         super.setUserVisibleHint(isVisibleToUser);  
  11.         if(isVisibleToUser) {  
  12.             isVisible = true;  
  13.             onVisible();  
  14.         } else {  
  15.             isVisible = false;  
  16.             onInvisible();  
  17.         }  
  18.     }  
  19.       
  20.       
  21.     /** 
  22.      * 可见 
  23.      */  
  24.     protected void onVisible() {  
  25.         lazyLoad();       
  26.     }  
  27.       
  28.       
  29.     /** 
  30.      * 不可见 
  31.      */  
  32.     protected void onInvisible() {  
  33.           
  34.           
  35.     }  
  36.       
  37.     /** 
  38.      * 延迟加载 
  39.      * 子类必须重写此方法 
  40.      */  
  41.     protected abstract void lazyLoad();  
  42.   
  43.   
  44. }  

 

列如:

 

  1.  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {  
  2.         View view = inflater.inflate(R.layout.fragment, container, false);  
  3.         contentText = (TextView) view.findViewById(R.id.content);  
  4.         progressBar = (ProgressBar) view.findViewById(R.id.progressbar);  
  5.         isPrepared = true;  
  6.         lazyLoad();  
  7.         return view;  
  8.     }  
  9.   
  10.     @Override  
  11.     protected void lazyLoad() {  
  12.         if (!isPrepared || !isVisible || mHasLoadedOnce) {  
  13.             return;  
  14.         }  
  15.         new AsyncTask<Void, Void, Boolean>() {

Fragment实现延迟加载

原文:http://www.cnblogs.com/dmblog001/p/5764797.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!