今天遇到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,所以请教各位大神,有什么方法能够解决我的问题,希望详尽点,我是新手