前言
前不久写了篇文章,讲了下我切换fragment的方法,后来发现,在手机切换任务时,重新回到app,fragment有重影的现象,而且出现的几率近百分百。今天就跟大家谈谈怎么解决fragment中重影的问题。
正题
开局一张图,内容全靠编

我习惯用单选按钮的监听事件实现对fragment的切换,红色方框内,我定义了三个fragment和存储fragment的集合,下面字符串常量则分别为他们的标记

上面这样子写法,就是奔今天的主题来的,比如你切换多任务,再回来的话,fragment没有被销毁掉,但还是又加载了一次,就造成了重影,为了配合它,我们还需要一张图,继续编:

接下来,咱把上文中用到的方法给出来(补充:这里的MineFragment,CategoryFragment和HomeFragment都是直接继承Fragment类的一个类哈):



最后,咱看一下RadioButton的点击事件,瞅瞅怎么实现点击切换:

尽可能详细的把代码贴出来,要不然到时候回顾起来,自己都不明白咋回事。

结语
之前的文章都是用贴代码的方式给的代码,这次因为跟一学弟讲解时,有截图说明,所以偷了个懒,直接就拿过来了。代码质量不怎么高,如果还是有需要的道友们,可以评论或者私信哈
网友评论