无法用starwithpop方法启动fragment!

来源:13-7 额外梳理,整理module结构,升级依赖,更好的进行分离

qq_Zoyix_0

2018-01-01

老师,当启动图结束后用户登录了,需要启动EcBottomDelegate时,发现

getSupportDelegate().startWithPop(new EcBottomDelegate());

无法启动EcBottomDelegate(),模拟器上显示空白,AS提示信息:

LauncherDelegate's FragmentManager is null,  Please check if LauncherDelegate is destroyed!

不知道为什么LauncherDelegate's FragmentManager会变null。但是用start方法可以启动:

getSupportDelegate().start(new EcBottomDelegate());
为什么?startWithPop和start有啥不同的么?

写回答

1回答

傅猿猿

2018-01-01

区别就是withpop就是afragment启动b后会被销毁,会清除返回栈,所以报错八成是要销毁的fragment已经被销毁了

0
2
我有明珠一颗
回复
qq_Zoyix_0
我的是返回时销毁了LauncherDelegate(),但同样出现空白的问题。个人理解是从启动图跳转的,如果启动图被销毁了,那它的FragmentManager 为空了,这样肯定没有办法启动EcBottomDelegate。 之前0.x版本是有问题的,跳转后并没有销毁LauncherDelegate。但1.x销毁了。 有个思路可供参考:就是在EcBottomDelegate渲染成功后,再清除返回栈
2019-12-03
共2条回复

Android通用框架设计与完整电商App开发

从第一行代码开始教你,通用且一键式配置的框架设计并轻松实现完整电商App

2028 学习 · 1182 问题

查看课程