activity无法直接跳转到fragment中

(一),解决方式:
    1,从activityA跳转到fragment所在的activityB中的onResume(onStart()也可以试试),然后再activityB中选中你要找的fragment.
    但:这个有问题,返回的时候,activityB会为空
    2,
    a,从activityA跳转到fragment所在的activityB中的onNewIntent(),
     b,然后再activityB中选中你要找的fragment.
     c,并将activityB的启动模式改为singleTask(singleInstance也可以,但是用户体验不好,因为跳转的时候,会有一闪的黑屏,原因:singleInstance没开启一个activity都会新开一个栈)

    
(二)注释:
1,当一个应用中的Activity供多种方式调用启动,但是希望任务栈中只有一个Activity实例。这样就需要将这个Activity launchMode设置为singleTask。第一次打开会执行onCreate--onStart--onResume,之后如果该Activity没有被destroy,重新打开执行onNewIntent--onRestart--onStart--onResume。

  当调用到onNewIntent(intent)的时候,需要在onNewIntent()中使用setIntent(intent)赋值给Activity的Intent.否则,后续的getIntent()都是得到老的Intent。

2,无论什么模式,只有activity是同一个实例的情况下,intent发生了变化,就会进入onNewIntent中,这个方法的作用也是让你来对旧的intent进行保存,对新的intent进行对应的处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值