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

    Android之取消ViewPage+Fragment的预加载

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

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    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方法

    1
    2
    3
    4
    5
    6
    @Override
        public void onActivityCreated(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            setUserVisibleHint(true);
            super.onActivityCreated(savedInstanceState);
        }

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

    1
    pager.setOffscreenPageLimit(3);
  • 相关阅读:
    Hibernate unsaved-value 属性
    ResulsetHandler九个实现类
    Introspector内省和反射的区别.
    数据库表、字段命名规范
    Linux 时间同步 ntpdate
    http升级https改造方案
    org.apache.tomcat.util.net.NioEndpoint,打开的文件过多
    kafka常用命令
    elasticsearch.yml 配置说明
    getDate() 各种时间格式
  • 原文地址:https://www.cnblogs.com/xiaoxiaoshen/p/5237649.html
Copyright © 2011-2022 走看看