请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

无法用starwithpop方法启动fragment!

老师,当启动图结束后用户登录了,需要启动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有啥不同的么?

正在回答 回答被采纳积分+3

1回答

傅猿猿 2018-01-01 23:00:07

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

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_Zoyix_0 #1
    但是实际上按退出后能回到原来的启动图页面并没有被销毁,我完全是按视频里来改的,代码里并没有去销毁这个LauncherDelegate()啊?
    回复 有任何疑惑可以回复我~ 2018-01-02 11:07:28
  • 我有明珠一颗 回复 提问者 qq_Zoyix_0 #2
    我的是返回时销毁了LauncherDelegate(),但同样出现空白的问题。个人理解是从启动图跳转的,如果启动图被销毁了,那它的FragmentManager 为空了,这样肯定没有办法启动EcBottomDelegate。
    之前0.x版本是有问题的,跳转后并没有销毁LauncherDelegate。但1.x销毁了。
    有个思路可供参考:就是在EcBottomDelegate渲染成功后,再清除返回栈
    回复 有任何疑惑可以回复我~ 2019-12-03 16:32:21
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信