一个activity的启动问题
2014-10-23 16:34
183 查看
============问题描述============
如图A是一个fragment,通过startactivityforresult启动B这个activity(此时B的启动模式设置成默认)。
然后在A的onactivityforresult中得到B返回的结果。现在如果在不考虑C,D的情况下,是可以达到理想效果的(A成功接收到了B的返回结果,并且在A的onactivityforresult里做了正确的处理)
现在问题来了
B这个activity可以启动C,C可以启动D,而且都是可以返回的(BACK,所以不能把B或者C finish掉)。现在D是跳转到B的,所以我
想当然的把B设置成了singletask(这样启动BCD后再跳转到B,CD就可以自动消失了),然而这样设置的话,A这个fragment就得
不到正确的返回了(通过log日志看到,A一启动B就调用了A的onactivityforresult)。
有什么好的解决思路吗?
============解决方案1============
1、接口回调吧,在B中调用接口,A中实现接口
2、发广播
============解决方案2============
onactivityforresul不是有2个参数吗,requestcode和resultcode,都满足再执行业务逻辑啊。
============解决方案3============
你这已经不满足回调的条件了,还有你的D可以不用直接已start的方式直接跳转,你可以B→C→D都用startActivityForResult的方式启动,然后你的D需要跳到B的时候只需要在回调中把C销毁即可
如图A是一个fragment,通过startactivityforresult启动B这个activity(此时B的启动模式设置成默认)。
然后在A的onactivityforresult中得到B返回的结果。现在如果在不考虑C,D的情况下,是可以达到理想效果的(A成功接收到了B的返回结果,并且在A的onactivityforresult里做了正确的处理)
现在问题来了
B这个activity可以启动C,C可以启动D,而且都是可以返回的(BACK,所以不能把B或者C finish掉)。现在D是跳转到B的,所以我
想当然的把B设置成了singletask(这样启动BCD后再跳转到B,CD就可以自动消失了),然而这样设置的话,A这个fragment就得
不到正确的返回了(通过log日志看到,A一启动B就调用了A的onactivityforresult)。
有什么好的解决思路吗?
============解决方案1============
1、接口回调吧,在B中调用接口,A中实现接口
2、发广播
============解决方案2============
onactivityforresul不是有2个参数吗,requestcode和resultcode,都满足再执行业务逻辑啊。
============解决方案3============
你这已经不满足回调的条件了,还有你的D可以不用直接已start的方式直接跳转,你可以B→C→D都用startActivityForResult的方式启动,然后你的D需要跳到B的时候只需要在回调中把C销毁即可
相关文章推荐
- Android 开发一个Activity 启动另一个Activity碰到的一个问题
- 包管理器移除一个activity后,ActivityManager自动启动HOME界面的问题
- 问题小结(21)--通过action启动另外一个apk里的Activity
- android service 启动和关闭不在同一个Activity的问题
- 关于在一个Activity中启动相机时,生命周期的问题
- 解决Apache启动问题—(OS 10022)提供了一个无效的参数
- 32位WIndows 7的“快速启动”,重启后丢失的问题,被确认是一个bug
- 转:解决VC2005程序的一个运行错误“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题”
- “在系统启动时至少有一个服务或驱动程序产生错误”,终于解决这个其实很简单又很烦人的问题
- Sql Server无法启动的一个古怪问题。
- 安装php 5.3.3启动httpd碰到的一个问题
- QT 关于应用程序只启动一个实例的问题
- 又一个JBoss无法启动的问题
- 一个APK启动别一个APK的Activity
- 彻底解决:Apache启动问题—(OS 10022)提供了一个无效的参数。
- 解决tomcat 5.5启动后第一次访问总是会报一个access denied的问题
- 在一个Activity bull中启动另一个Activity secondbull的方法 1
- 一个tomcat启动失败问题
- 处理一个电脑启动问题
- 三层结构,在自动启动服务器的应用服务的一个小问题.请教大虾们