zoukankan      html  css  js  c++  java
  • Android之取消ViewPage+Fragment的预加载

    用过ViewPage+Fragment组合的童鞋自然知道这个问题,没有遇到的同学祝愿你们永远不会遇到,呵呵。直接上关键代码

    注释:setUserVisibleHint每次fragment显示与隐藏都会调用,他的调用顺序由于onCreate,所以需要一些常量进行判断

    private boolean mHasLoadedOnce = false;
    @Override
    	public void setUserVisibleHint(boolean isVisibleToUser) {
    		if (this.isVisible()) {
    			// we check that the fragment is becoming visible
    			if (isVisibleToUser && !mHasLoadedOnce && mArrayList==null) {
    				
                                    // async http request here
    				mHasLoadedOnce = true;
    			}
    		}
    		super.setUserVisibleHint(isVisibleToUser);
    	}
    


    由于setUserVisibleHint优于onCreate调用,所以当onCreate调用完毕setUserVisibleHint就不会触发,这时需要在首个显示的fragment调用setUserVisibleHint方法

    @Override
    	public void onActivityCreated(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		setUserVisibleHint(true);
    		super.onActivityCreated(savedInstanceState);
    	}
    

    这个是设置viewpager保留多少个显示界面

    pager.setOffscreenPageLimit(3);
    

      

  • 相关阅读:
    函数与宏定义实验报告
    C语言作业3
    循环结构课后反思
    C语言作业2
    C程序设计实验报告
    百分制成绩五级分制输出--二次作业
    第九章 结构体与共用体
    第八章 指针实验
    第七章 数组实验
    第六章 函数和宏定义实验(2)
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/3713391.html
Copyright © 2011-2022 走看看