我正在进行以下活动:
活动1 - >活动2 - >活动3
我使用startActivityForResult从Activity 1启动了Activity 2,在Activity 2中完成了一些工作后,我使用相同的startActivityForResult完成了Activity 2并从Activity 2启动了Activity 3。
现在当我按下活动3上的后退按钮时,我想在活动1的onActivityResult中处理结果。控件进入活动3但结果代码为0,所以我在活动3中添加了setResult backPressed但它仍然在活动1中将结果代码设为0。
我怎么能这样做,请帮助我如果有人知道这一点。
非常感谢先进。
答案 0 :(得分:3)
进入活动时不要完成活动2.当你加入Activity2的onActivityResult时,不要完成活动2,而是再次将结果发送回活动1
答案 1 :(得分:0)
启动Activty3时不要完成activity2,因此你可以在activity2的onActivityResult
方法中获得结果,那时你再次使用你获得的数据设置相同的setResult
方法Activity3和完成activity2在这里,所以现在你得到Activity1中的结果。
你的逆流如下:
活动3 - > setResult - >完成活动3 - > Activity2中的onAcitvityResult - >获取数据和setResult - > finisht acitvity2 - > Activity1中的onAvtivityResult