现在的位置: 首页 > 综合 > 正文

android ActivityGroup中子Activity的setResult()后的onActivityResult不运行的解决办法

2013年03月13日 ⁄ 综合 ⁄ 共 610字 ⁄ 字号 评论关闭

最近在做一个小项目,遇到了ActivityGroup中有两个Activity,Activity1中用到了startActivityForResult();跳到了Activity3,Activity3用到了setResult().在Activity1中重写了onActivityResult方法,但并没有执行该方法。后来google了一下,找到了解决办法。

1,在Activity1的startActivityForResult()时,要用到getParent().startActivityForResult()

2,在ActivityGroup中实现onActivityResult

 @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data)
  {
    // 向下传递
    Activity1 currentActivity = (Activity1) getLocalActivityManager().getCurrentActivity();
    currentActivity.onActivityResult(requestCode, resultCode, data);
  }


3,在Activity1中创建一个onActivityResult(requestCode, resultCode, data)方法,实现你想操作的功能。

抱歉!评论已关闭.