返回

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

发布时间:2022-11-30 08:26:16 317
# android
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代码

    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" />

 

 

 

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

 

image.png

 

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

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

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线