美文网首页我爱编程
Android中使用Fragment.instance创建实例并

Android中使用Fragment.instance创建实例并

作者: 关玮琳linSir | 来源:发表于2018-04-13 13:06 被阅读20次

    Android中使用Fragment.instance创建实例并且赋初值

    当我们实现一个Fragment之后,想为其赋初值的时候,我们可能最下意识的想到的是,增加一个带参数的构造方法,然后为其赋值,但是这样的方式是完全不能被接受的,因为官方文档中明确的写着,Fragment不能拥有带参数的构造方法,因为Fragment的生命周期的原因,当Fragment被销毁之后,如果需要重新创建的时候,系统调用的将是Fragment的无参数的构造方法。

    这个时候我们便可以通过setArguments()的方式来为其赋初值,这个时候我们便可以应用工厂模式,来构造它的对象。

    public static Fragment newInstance(int orderType) {
            Fragment fragment = new BossOrderFragment();
            Bundle bundle = new Bundle();
            bundle.putInt("mOrderType", orderType);
            fragment.setArguments(bundle);
            return fragment;
        }
    

    调用时的方法(直接可以获取到实例,并且可以为其赋初值):

    fragment = BossOrderFragment.newInstance(0);
    

    相关文章

      网友评论

        本文标题:Android中使用Fragment.instance创建实例并

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