- (一),解决方式:
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进行对应的处理
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进行对应的处理