关于android的onactivityresult问题

gx1727 发布于 2013/02/24 09:09
阅读 1K+
收藏 0

 

三个Activity: ActivityA、ActivityB、ActivityC

从ActivityA中startActivityForResult 转到 ActivityB,正常情况下,ActivityA 调用 finish(),就可以被ActivityA的

onactivityresult捕获。

现在有这样一个业务:

从ActivityA中startActivityForResult 转到 ActivityB, ActivityB又要转到 ActivityC,ActivityC处理完后,调用了startActivity重新打开了ActivityB,此时, ActivityB如何回到ActivityA,并把处理结果传给ActivityA?
加载中
0
狄仁傑
狄仁傑
ActivityB设置成singinstance类型不行么
0
狄仁傑
狄仁傑

引用来自“狄仁傑”的答案

ActivityB设置成singinstance类型不行么
额,不行,startactivityresult 不能用这个属性
0
铂金大雕
铂金大雕
Manifest.xml里可以设置activity的那啥属性
0
假装是大神
假装是大神

搞的那么麻烦干什么啊,亲,何必调来调去的,累不累,你设置一个类,用来专门保存全局的变量不就行了么,如:

public class ResultList {

public static Object myResult;

}

调用:ResultList.myResult=xxx;

0
gx1727
gx1727

还是没有办法让ActivityB finish的时间,触发 ActivityA 的onactivityresult事件啊

 

0
狄仁傑
狄仁傑

引用来自“opmetic”的答案

还是没有办法让ActivityB finish的时间,触发 ActivityA 的onactivityresult事件啊

 

。。。你ActivityB intent起activityC的時候 flag設置成no history就可以了了。。。。這樣C就不會被push到棧裡面去,當從C回到B再finish的時候,A就會從棧裡面彈出來,但是之前我以為intent的flag 的brought to front 會有用,這樣就可以在C用startActivity起B的時候直接從棧裡把B調到前面來,但是結果卻失效了,結果棧裡面有兩個ActivityB,這讓我很不解,不知道是不是要和別的屬性配合用
返回顶部
顶部