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>
谷歌的广告apidemo中,切换tab也是用的这种方式,所以各位不要被国内某些自称大佬的人的建议乱了阵脚,看看官方的demo 你就不会怀疑自己写的代码是否真的不规范了!
另外还有人 也就是面试我的面试官自称,说懒加载使用uservisible
啥代码来着,也就是说意思是不可靠,得换一个方法,我是不知道到底可不可靠,我只知道一个fragment放在不同的地方,懒加载的写法都不太一样。比如viewpager,或者viewpager的fragment里面的fragment等等,腾讯bugly列出来的代码在某些地方懒加载没有效果会导致view不会显示,只能在onStart()
的时候再判断一次,当然具体哪些地方会不失效我忘记了,我这个人最大的毛病就是瞎折腾,不会去总结经验和分析原因,所以问题搞好了,但是不知道所以然。下次还会踩同一个坑。