2 youhongfei youhongfei 于 2014.11.08 09:21 提问

onActivityResult不执行

今天遇到onActivityResult不执行的问题,在网上找到了这个问题的原因是因为在TabHost的子Activity中startActivityForResult调用其他Activity时造成的,比如在一个FragmentTabHost布局中,其中一个tabhost的逻辑比较复杂,所以我在其中一用了另一个Aactivity的布局和逻辑,但是在这个activity的操作过程中需要执行onActivityResult而无法执行,网上的解决方法是,
1.通过父Activity启动其他Activity
1 getParent().startActivityForResult(new Intent(...), REQUEST_CODE);
2.实现父Activity的onActivityResult方法

@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     // 获取当前活动的Activity实例
     Activity subActivity = getLocalActivityManager().getCurrentActivity();
     //判断是否实现返回值接口
     if (subActivity instanceof OnTabActivityResultListe<wbr>ner) {
         //获取返回值接口实例
         OnTabActivityResultListe<wbr>ner listener = (OnTabActivityResultListe<wbr>ner) subActivity;
         //转发请求到子Activity
         listener.onTabActivityResult(requestCode, resultCode, data);
     }
     super.onActivityResult(requestCode, resultCode, data);
 }

可是我的布局因为用的是FragmentTabHost,所以无法获得getLocalActivityManager(),从而不能得到当前执行的activity,所以请教各位大神,有什么方法能够解决我的问题,希望详尽点,我是新手

1个回答

HuangShaoWenWuBin
HuangShaoWenWuBin   2014.12.04 09:26

我也遇到过onActivityResult不执行的问题
检查两点:

1.跳转activity时用startActivityForResult
2.resultCode不为负数

你讲的你的情况太复杂了没看懂。。。

Csdn user default icon
上传中...
上传图片
插入图片