关于Android Fragment的重叠问题

576 阅读1分钟

原因

看到网上诸多的解决方式,也解释了其起因,是由于Activity在onSaveInstanceState的时候保存了fragment的状态,而activity重建的时候恢复了保存起来的fragment,在执行oncreat的时候往往又重新添加了一遍,网上给了很多种解决方式,个人在项目中使用了好像没太看到很多人使用的方式

处理

在Activity的onAttachFragment(Fragment fragment)中对fragment进行还原

if(fragment instanceof FragmentA){
  fragmentA = fragment;
}
if(fragment instanceof FragmentB){
  fragmentB = fragment;
}

在Activity的onCreate中创建

if(fragmentA == null){
  fragmentA = new FragmentA();
}

if(fragmentB == null){
  fragmentB = new FragmentB();
}

如此 完事。。。

看了很多种其他方式解决这个问题,个人认为如上处理简单粗暴。。。如果各位小伙伴感觉有什么问题欢迎指正