Fragment 生命周期 执行两边
2018-05-16 本文已影响0人
new_xd
问题
发现界面上的Fragment的生命周期都执行两边
原因
使用FragmentTabHost切换Fragment时,因为还要实现左右滑动切换Fragment,所以我们把@android:id/tabcontent 对的应布局隐藏,另外使用ViewPager展示Fragment,FragmentTabHost主要使用它的TabHost,实现点击切换Fragment。
问题主要出在下面的代码:
TabHost.TabSpec spec = createTabSpec();
tabHost.addTab(spec, MyFragment.class, null);
我们在Tab上绑定了Fragment的class,导致FragmentTabHost会创建一个MyFragment,虽然展示不出来,而同时我们自己又在ViewPager中展示了一个MyFragment。 导致界面上实际有两个Fragment。所以看起来好像我们的MyFragment的所有生命周期都执行了两边。