首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

startActivityForResult 跟 startActivity

2012-09-24 
startActivityForResult 和 startActivity首先说下这个问题的情景:当前的软件有一个主Activity A1 并且从A

startActivityForResult 和 startActivity

首先说下这个问题的情景:

当前的软件有一个主Activity A1 并且从A1可以跳转到A2 A3两个界面 而A2 A3也可以回退到A1 同时在这之间 需要传递一些数据

第一种做法是:

?

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent intent) {super.onActivityResult(requestCode, resultCode, intent);}

?其中就可以根据resultCode来进行不同的操作了

?

?

最后 两者之间又有什么区别呢

default的startActivity的LaunchMode如果在多次反复跳转的情况下 产生多个A1 A2的实例(LaunchMode包括standard,SingleTop,SingleTask,SingleInstance4种)这可能并不是我们期望的

?

当然还有一个问题 如果采用互相跳转 同时又采用SingleTask的mode 两者之间是不是就相等了。。至少从我的理解来看 是相同的 但是在这样的情况下 觉得startActivityForResult会更方便一些

1 楼 zhongxinhu 2011-12-30   mark! 2 楼 carlosk 2011-12-31   startActivityForResult在sigleTask模式下是无法使用的.

但经常会有一些Activity需要设置为sigleTask,并且还需要有拍照,找相册等等类似的需求,这样就很难协调.

我觉得这是Android API的一个不完善的地方. 3 楼 cookiejj2010 2011-12-31   carlosk 写道startActivityForResult在sigleTask模式下是无法使用的.

但经常会有一些Activity需要设置为sigleTask,并且还需要有拍照,找相册等等类似的需求,这样就很难协调.

我觉得这是Android API的一个不完善的地方.

的确 在SingleTask下 onActivityResult方法在最初就被执行了 而真正返回的时候却没有执行

热点排行