多个活动startActivityForResult使用 [英] startActivityForResult usage for multiple activities

查看:147
本文介绍了多个活动startActivityForResult使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用startActivityForResult像这样两项活动

i use startActivityForResult for two activities like this

Activity A -> startActivityForResult(ActivityB,0) -> Activity B -> setresult(10); finish(); -> Activity A -> if(result==10) {dofunction(); }

但我必须使用这个逻辑4个或更多的活动。

but i must use this logic for 4 or more activities.

Activity A -> startActivityForResult(ActivityB,0) -> Activity B -> finish(); -> Activity C -> finish(); -> Activity D -> setresult(10); finish(); -> Activity A -> if(result==10) {dofunction(); }

但是,这并不正常工作。

but this does not work.

推荐答案

解决方案:

Activity A -> startActivityForResult(activityB,0);
Activity B -> activityCintent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(activityCintent); finish();
Activity C -> activityDintent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(activityDintent); finish();
Activity D -> setresult(10); finish();
Activity A -> if(result==10) {dofunction(); } YEPPP

这是FLAG_ACTIVITY_FORWARD_RESULT的逻辑。首先,你开始为结果的活动,新的活动,直到您将结果发送此意图另一个新的活动。
我希望这将是有同样的问题peaople很有帮助。

this is the logic of FLAG_ACTIVITY_FORWARD_RESULT. First you start an activity for result, new activity sends this intent to another new activity until you set result. I hope this will be helpful for peaople having same problem.

这篇关于多个活动startActivityForResult使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆