需要注意的是,1会先后收到2和3的返回数据, 这时候常常被忽略的requestCode就要应作用了.

解决方案 »

  1.   


    这个跟我上一条问的没什么关系吧=。=activity如果数量比较多,这么写会显得代码结构很混乱
      

  2.   

    http://blog.csdn.net/a511341250/article/details/41510621
    这个看看?
      

  3.   

    写个接口和管理类。
    接口由某个想要获取值的Activity来实现,然后注册到管理类。
    http://bbs.csdn.net/topics/390958417
    当然,如果想和多个Activity通信可以把管理类里面的listener对象换成列表。
      

  4.   

    我觉得你可以把数据保存到application中的全局变量,然后在activity 1的onResume函数中检测是否有数据,有就刷新。
      

  5.   

    1跳2,startActivityForResult,2跳3,startActivityForResult,3中点返回使用setResult();2中回调onActivityResult时finish(); 这样数据就能传给1了,无异常效果。
      

  6.   

    要是简单数据的话  可以考虑用SharedPreferences存储数据吧 在需要的地方保存  用到的地方取值就行了 存取数据操作方便简单
      

  7.   


    我要是能用onActivityResult就用了,前提是2已经finish掉了,拿什么去接收3的setResult
      

  8.   


    说了不考虑广播,因为是金融系统,有安全隐患那就设置到全局的Application
      

  9.   


    这个没用,如果从3去startActivity去1的话,那栈结构就是1-3(finish)-1,在1页面点击1还是返回1
      

  10.   


    我现在的做法是在appliaction中创建一个field保存需要的data,然后在1的onResume里面实现,但是6楼的回调更好用一点
      

  11.   


    我要是能用onActivityResult就用了,前提是2已经finish掉了,拿什么去接收3的setResult2跳3为什么一定要先finish呢?你的业务逻辑是什么