有人说fragment replace会影响生命周期?那么谷歌是如何用的呢?那么replace真的不规范吗?...

FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction trans = fragmentManager.beginTransaction();

        switch (position) {
            case 0: trans.replace(R.id.container, new AdMobAdListenerFragment()); break;
            case 1: trans.replace(R.id.container, new AdMobAdTargetingFragment()); break;
            case 2: trans.replace(R.id.container, new AdMobBannerSizesFragment()); break;
            case 3: trans.replace(R.id.container, new DFPFluidSizeFragment()); break;
            case 4: trans.replace(R.id.container, new DFPPPIDFragment()); break;
            case 5: trans.replace(R.id.container, new DFPCustomTargetingFragment()); break;
            case 6: trans.replace(R.id.container, new DFPCategoryExclusionFragment()); break;
            case 7: trans.replace(R.id.container, new DFPMultipleAdSizesFragment()); break;
            case 8: trans.replace(R.id.container, new DFPAppEventsFragment()); break;
            case 9: trans.replace(R.id.container, new DFPCustomControlsFragment()); break;
        }

        trans.commit();

xml代码

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <fragment
        android:id="@+id/navigation_drawer"
        android:name="com.google.android.gms.example.apidemo.NavigationDrawerFragment"
        android:layout_width="@dimen/navigation_drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        tools:layout="@layout/fragment_navigation_drawer" />

</android.support.v4.widget.DrawerLayout>
image.png

谷歌的广告apidemo中,切换tab也是用的这种方式,所以各位不要被国内某些自称大佬的人的建议乱了阵脚,看看官方的demo 你就不会怀疑自己写的代码是否真的不规范了!

另外还有人 也就是面试我的面试官自称,说懒加载使用uservisible啥代码来着,也就是说意思是不可靠,得换一个方法,我是不知道到底可不可靠,我只知道一个fragment放在不同的地方,懒加载的写法都不太一样。比如viewpager,或者viewpager的fragment里面的fragment等等,腾讯bugly列出来的代码在某些地方懒加载没有效果会导致view不会显示,只能在onStart()的时候再判断一次,当然具体哪些地方会不失效我忘记了,我这个人最大的毛病就是瞎折腾,不会去总结经验和分析原因,所以问题搞好了,但是不知道所以然。下次还会踩同一个坑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值