美文网首页
完美的Fragment懒加载

完美的Fragment懒加载

作者: buhuiming | 来源:发表于2018-06-01 14:38 被阅读0次

    BHMAndroid工程:一些常用的工具类,以及常用的控件,主要用来提高开发效率。(GitHub


    集成:

        compile 'com.bhm.sdk.bhmlibrary:BHMLibrary:version' (version不定时更新)
    
        <dependency>
          <groupId>com.bhm.sdk.bhmlibrary</groupId>
          <artifactId>BHMLibrary</artifactId>
          <version>version</version>
          <type>pom</type>
        </dependency>
    
    

    目前库包含了一些项目中常用的模块,后续会慢慢的添加完善。

    一、LazyLoadFragment懒加载的使用

    5.jpg

    1、用法介绍

    用法特别简单,继承LazyLoadFragment类,重写4个方法,以下介绍一下这这个方法:

    setLayoutId(),返回布局id:

        @Override
        protected int setLayoutId() {
            return R.layout.activity_java_title_bar;
        }
    
    

    initView(),初始化工作:

        @Override
        protected void initView() {
            super.initView();
            ButterKnife.bind(this, rootView);
            tv_text.setText("fragment position is " + getArguments().get("data"));
            Log.i("DemoFragment", getArguments().get("data") + " 初始化完毕");
        }
    
    

    lazyLoad(),加载数据,一般是耗时的工作:

    例如读取数据库,请求网络数据。


    setLoadDataOnce()方法

    重写此方法,返回true,则lazyLoad()只会回调一次数据,切换fragment不再回调lazyLoad();
    返回false,则每次fragment可见都会回调lazyLoad(),默认是true。
    注:如果adapter的destroyItem方法去掉super,则只会初始化(initView)一次,切换fragment不再初始化;
    否则,fragment每次可见都初始化

    相关文章

      网友评论

          本文标题:完美的Fragment懒加载

          本文链接:https://www.haomeiwen.com/subject/qofksftx.html