下帖为转载关于TabHost中使用startActivityForResult无法接收返回值的解决方案新增问题最下面

diversity1 2012-08-24 02:49:44



TabHost中使用startActivityForResult无法接收返回值的解决方案


在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方法

1 @Override
2 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
3 // 获取当前活动的Activity实例
4 Activity subActivity = getLocalActivityManager().getCurrentActivity();
5 //判断是否实现返回值接口
6 if (subActivity instanceof OnTabActivityResultListener) {
7 //获取返回值接口实例
8 OnTabActivityResultListener listener = (OnTabActivityResultListener) subActivity;
9 //转发请求到子Activity
10 listener.onTabActivityResult(requestCode, resultCode, data);
11 }
12 super.onActivityResult(requestCode, resultCode, data);
13 }
复制代码

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) {
//实现该处逻辑         ...
}
}
复制代码




问题如下:

// 获取当前活动的Activity实例
4 Activity subActivity = getLocalActivityManager().getCurrentActivity();
这句为什么每次都获取的是A activity
我在B activity中也用了 getParent().startActivityForResult(new Intent(...), REQUEST_CODE);
但是每次都会执行A activity中的方法@Override
public void onTabActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
//实现该处逻辑         ...
}
}





...全文
267 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bestarandyan 2013-01-10
  • 打赏
  • 举报
回复
我发现在 public void onTabActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { //实现该处逻辑         ... } } 没办法改变控件上面的值 比如TextView
功能简介: 1.可按**板和树形查看帖子内容及版面,树形的支持回复帖子分页 2.发表投票帖功能,投票分多投和单投票 3.查看投票用户功能 4.精华区功能 5.不降低排序效率下,增加帖子置顶功能 6.帖子锁定(禁回复)功能 7.不降低排序效率下,增加帖子总固顶功能 8.加入查看主题帖需要积分功能 9.加入回复主题帖需要积分功能 10.加入查看主题帖需要经验功能 11.加入回复主题帖需要经验功能 12.加入主题仅本版版主才能查看功能 13.加入主题仅本版版主才能回复功能 14.加入主题仅版主才能回复功能 15.加入主题仅版主才能回复功能 16.加入主题仅认证会员才能查看功能 17.加入主题仅认证会员才能回复功能 18.支持插入表情符号到当前光标位置 19.发表的帖子可以选择是否是UBB编号(有些帖子含有UBB字符但又需要显示) 20.判断重复帖功能 21.发表的帖子内容一直保存,不用因错误而需要返回重填而引起的数据丢失 22.上传的附件可以支持多个插入到文章. 23.上传附件大小限制,并自动判断是否是图像格式 24.引入GBLSDK,自动判断上传的100多种图像格式,并自动转换为GIF或JPG或PNG格式. 25.上传的图片如果太大,可自动生成缩略图. 26.上传的图片如果非GIF,jpg,png等浏览器直接支持显示的格式,自动生成一幅缩略显示,并作链接 27.上传方式可以选择是否采用DotNet上传功能(支持上传最大4M的文件) 28.可查看当前帖子长度,支持插入当前时间(本地) 29.支持显示当前页执行时间(毫秒) 30.支持[html]标签,直接插入html内容,仅管理员可以使用之 31.UBB编码转移,使用户签名和帖子内容显示速度最优. 32.投票帖显示为投票人数,超过20人投票的显示为热投票帖 33.支持版主删除帖子 34.删除帖子时更新最后回复人和回复时间为最后帖子的信息 35.删除帖子主题帖时自动删除整个主题,如果回复帖巨多,采用分段方式删除,删除间允许意外断 36.如果删除的是投票帖自动删除投票信息 37.允许管理员和版主精华和取消精华帖子,帖子可以是回复帖和主题帖 38.论坛支持海量数据,无论有多少的帖子,查看任何页面速度一率恒定 39.支持玩家发件箱和收件箱,有新消息自动提示并闪烁加语音提示 40.支持管理员查看查看一切收件发件信息,但内容无权查看 41.支持清空收件箱功能 42.支持管理员清空一切收件箱和发件箱内容功能 43.加入**历表查看 44.新用户注册,可自定义最短注册名 45.加入新用户注册间隔时间判断,防止有人恶意添加用户数据 46.用户发送短信息加入判断重复信息和时间间隔设定功能,防止恶意加数据 47.支持用户自动头像,可预设定是否允许用户自定义头像 48.支持论坛预有头像数量设定(默认有500个头像) 49.支持论坛预定义最大用户自定头像宽度(高度跟宽度一样) 50.支持论坛预定义是否允许上传文件(分任何人,仅管理员,禁止) 51.支持用户自上传头像的图像文件 52.支持论坛设定是否支持GBLSDK 53.自动判断用户上传头像是否是图像文件(支持100多种图像格式) 54.上传头像大小自动获取,如果太大,自动转换为缩略图.如果不是jpg,gif,png等格式,自动转换成常用格式. 55.用户登陆可以选择Cookie保留时间 56.支持用户资料修改,重定义头像 57.用户积分排行榜 58.用户经验排行榜 59.查看在线用户功能 60.在线用户跟踪功能,跟踪当前浏览页面,所在论坛,所在帖子等. 61.支持查看特定论坛在线人数统计功能 62.论坛首页最上页显示登陆用户资料(包括IP,浏览器和操作系统) 63.支持论坛最后更新时间和发帖人功能 64.支持论坛分类功能,主题帖和总帖统计功能 65.支持论坛版面只有登陆用户才能访问功能 66.支持论坛版面只对认证会员开放功能 67.支持论坛版面禁止发表新帖子 68.支持论坛版面不允许修改论坛帖子 69.支持论坛版面不允许删除论坛帖子 70.支持论坛版面禁止回复帖子 71.支持论坛版面只对论坛版主以上开放 72.各论坛限制功能是与的关系,可以同时限制多个功能 73.可以设定论坛版主,可以设定多个,至少允许17个版主 74.可以设定版主的权限是否禁止删除帖子 75.可以设定版主的权限是否禁止精华帖子 76.可以设定某用户是否是认证会员(正式会员) 77.可以设定某用户禁止发表和回复帖子 78.可以设定某用户禁止修改个人资料和帖子内容 79.可以设定某用户所有发言屏蔽 80.支持管理员修改某用户特殊资料,包括登陆失败等信息 81.支持设定荣誉称号,比如"管理员","贵宾"等,并可以自定义称号(无限) 82.支持用户等级,等级主要根据积分来进行,在线时间(经

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧