码迷,mamicode.com
首页 > 其他好文 > 详细

Fragment实现延迟加载

时间:2016-08-12 14:54:19      阅读:181      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!