话不多说直接上代码
List<Fragment> fragments = new ArrayList<>();
fragments.add(new HomeFragment());
fragments.add(new PersonFragment());
fragments.add(new DindanFragment());
fragments.add(new CaidanFragment());
suFragmentManager = getSupportFragmentManager();
fragmentTransaction = suFragmentManager.beginTransaction();
for (int i = 0; i < fragments.size(); i++) {
fragmentTransaction.add(R.id.fl_layout,fragments.get(i),i+"fragment")
.hide(fragments.get(i));
}
fragmentTransaction.commit();
fragmentTransaction.show(fragments.get(1));
当app横竖屏切换的时候回出现重影 activity的生命周期会重新走一遍
解决方法
if (fragments.size() > 0) {
for (int i = 0; i < fragments.size(); i++) {
Fragment fragmentByTag = suFragmentManager.findFragmentByTag(i + "fragment");
if (fragmentByTag != null) {
fragmentTransaction.remove(fragmentByTag);
}
}
}