博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android TabHost中使用startActivityForResult无法接收返回值的解决方案
阅读量:5064 次
发布时间:2019-06-12

本文共 1420 字,大约阅读时间需要 4 分钟。

在TabHost的子Activity中startActivityForResult调用其他Activity时候遭遇到onActivityResult方法不响应的问题.

 

解决办法如下:

1.通过父Activity启动其他Activity;

2.实现父Activity的onActivityResult方法,将该处接收到的请求转发给当前活动的子Activity;

3.自定义一个转发接口用来实现第2步中的转发功能;

4.子Activity中实现第3步接口中的方法用来接收返回信息;

 

代码如下:

1.通过父Activity启动其他Activity

1 getParent().startActivityForResult(new Intent(...), REQUEST_CODE);

2.实现父Activity的onActivityResult方法

按 Ctrl+C 复制代码
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // 获取当前活动的Activity实例 Activity subActivity = getLocalActivityManager().getCurrentActivity(); //判断是否实现返回值接口 if (subActivity instanceof OnTabActivityResultListener) { //获取返回值接口实例 OnTabActivityResultListener listener = (OnTabActivityResultListener) subActivity; //转发请求到子Activity listener.onTabActivityResult(requestCode, resultCode, data); } super.onActivityResult(requestCode, resultCode, data); }
按 Ctrl+C 复制代码

3.自定义接口

/**  * 解决子Activity无法接收Activity回调的问题  * @author Administrator  *  */ public interface OnTabActivityResultListener {     public void onTabActivityResult(int requestCode, int resultCode, Intent data); }

4.子Activity需要实现onTabActivityResult方法

@Override     public void onTabActivityResult(int requestCode, int resultCode, Intent data) {         if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {             //实现该处逻辑
        ...         }     }

转载于:

转载于:https://www.cnblogs.com/zhengbeibei/archive/2013/05/15/3080982.html

你可能感兴趣的文章
在一台win10上启动多个mysql
查看>>
TensorFlow 从零到helloWorld
查看>>
第十三章:Python の 网络编程进阶(二)
查看>>
Orleans 高级特性-目录
查看>>
Python中的startswith和endswith函数使用实例
查看>>
配置类Configuration怎样使用
查看>>
maven打包可运行的jar包(包含依赖工程)
查看>>
javaCV - 视频截帧,清晰度调整,转gif,视频转音频
查看>>
Ansible系列之roles使用说明
查看>>
python之操作系统介绍,进程的创建
查看>>
第六次Java作业
查看>>
TabActivity 切换到后台遇到的问题
查看>>
关于Struts2的ONGL与ValueStack的解读
查看>>
@class、#import
查看>>
iOS 正则表达式使用的三种方式&语法
查看>>
alpha冲刺12
查看>>
将Java程序作成exe文件的几种方法【转载】
查看>>
kafka的使用
查看>>
AT2672 Coins
查看>>
团队计划会议-01
查看>>