安卓爬坑记录—— Android Fragment already added
Navigation使用bug记录:可能会与其他框架冲突,在运行后便出现了爆红:**Fragment already added。*
·
1.前言
因为我近期在项目中使用了MVVM组件——Navigation,同时又因为项目需要使用BottomNavigationView+Fragment+Viewpager2的框架,所以我便早早把viewpager2的适配器写好,但又因为我近期在相关Fragment里添加了Navigation。在运行后便出现了爆红:Fragment already added。
2.错误原因
之所以会出现如上bug显示,是因为在Navigation的作为NavHost的控件里加入了 app:navGraph="@navigation/nav_note_toshow"
,**这一句的意思不只是起到导航的作用,还是起到将路线起始的Fragment和该Activity进行捆绑,当Activity创建的时候,起始Fragment也会随之创建。**故在之后的ViewPager2适配器里的创建就是重复添加了。
即使不会报错,当你滑动UI后,你会发现底层还有一个相同UI。
3.最后
任何bug都是可以溯其根源,轻易解决的,缺少的只是一个思路。为了解决这个bug,我抓瞎了一天,虽然耗费的时间很长,但是能够顺利解决,那便是值得祝贺的事情。
做此篇,警示自己不再犯此错误。
更多推荐
已为社区贡献3条内容
所有评论(0)