[转] Fragment——startActivityForResult后onActivityResult无反应之问题总结
转自:http://m.blog.csdn.net/article/details?id=49507025
摘取片段如下
个人测试后的一些总结:
1、Fragment中直接使用startActivityForResult(); 不要使用this.getActivity().startActivityForResult();
2、Fragment依附的Activity中如果重写了onActivityResult()方法,该方法中必须加上super.onActivityResult(requestCode, resultCode, data);( 要么在Activity中不重写onActivityResult()方法,亲测可用)。Fragment中的onActivityResult()方法中加不加super.onActivityResult(requestCode, resultCode, data)这句代码对结果没有影响。
3、startActivityForResult()方法刚一调用,还没等activity返回,onActivityResult()方法已经执行完了。(亲测:执行顺序是:Fragment中的onActivityResult()先执行,Activity中的onActivityResult()后执行)出现上面问题的原因可能是:
① manifest中CaptureActivity 或者 HYSubActivity 的activity设置了launchMode属性,其值不是标准模式(standard)。
解决办法就是把launchMode属性去掉或者设置为标准模式。
② Fragment在startActivityForResult的时候,使用了Intent.FLAG_ACTIVITY_NEW_TASK,跳转到新的任务栈导致onActivityResult()被执行。
解决办法就是不要使用Intent.FLAG_ACTIVITY_NEW_TASK开启Activity,其他的方式是否可行未做测试。
[转] Fragment——startActivityForResult后onActivityResult无反应之问题总结的更多相关文章
- 调用startActivityForResult,onActivityResult无响应的解决办法
三种情况: 1.执行startActivityForResult,没等到被调用的 Activity 返回,onActivityResult() 就被执行了.找了很久,终于通过小道消息得知,这与 Act ...
- 总结:调用startActivityForResult,onActivityResult无响应的问题
人人都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数. 但你是否遭遇过onActivityResult()不执行或 ...
- Android基础:startActivityForResult 和 onActivityResult 问题
项目中用到弹出Acitivity来获得用户输入 所以用到 onActivityResult()方法接受用户输入 奇怪问题 startActivityForResult() 后直接调用 onActivi ...
- 调用startActivityForResult后直接调用onActivityResult
人员都知道,可以经由过程应用 startActivityForResult() 和 onActivityResult() 办法来传递或接管参数. 然而在"轻听"项目中,还没比及被调 ...
- 关于Fragment 不响应onActivityResult的情况分析 (
大家都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数. 但你是否遭遇过onActivityResult()不执行或 ...
- 谈谈Fragment中的onActivityResult
大家或许有遇到这个神坑,在Fragment中使用startActivityForResult能够成功,可是在Fragment中的onActivityResult却无法被调用.一不注意就让人一夜愁白了头 ...
- Android Fragment StartActivityForresult调用实例
fragment里面的onActivityResult 怎样才能被调用,很简单,就一句话, startActivityForResult(intent, getActivity().RESULT_FI ...
- 移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传
现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片 ...
- Android学习 之 startActivityForResult 和 onActivityResult
startActivityForResult 和 onActivityResult() 作用:主要用于 主Activity向调用的 子Activity 获得数据. 使用方法:在 主Activity写 ...
随机推荐
- cygwin完全安装步骤方法(组图)
我们可以到Cygwin的官方网站下载Cygwin的安装程序,地址是: http://www.cygwin.com/ 或者直接使用下载连接来下载安装程序,下载连接是: http://www.cygwin ...
- HighCharts终极版本
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- FFmpeg基础库编程开发学习笔记——视频常见格式
声明一下:这些关于ffmpeg的文章仅仅是用于记录我的学习历程和以便于以后查阅,文章中的一些文字可能是直接摘自于其它文章.书籍或者文献,学习ffmpeg相关知识是为了使用在Android上,我也才是刚 ...
- Windows CMD常用命令大全 运行命令
http://blog.163.com/lixunhuan@126/blog/static/122060620075124142658/ CMD命令大全 net use \\ip\ipc$ " ...
- 两个变量交换的四种方法(Java) 七种方法(JS)
两个变量交换的四种方法(Java) 对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) 1 class TestEV 2 ...
- selenium + python 怎样才能滚到页面的底部?
可以用 execute_script方法来处理这个. 调用原生javascript的API,这样你想滚到哪里就能滚到哪里. 下面的代码演示了如何滚到页面的最下面: driver.execute_s ...
- XtraTreeList直接显示Access数据库表中的数据
方法1:点击在拖入的显示控件(TreeList)右上方的箭头,在Treelist任务中选择数据源,添加项目数据源,依次选择数据库.数据集,新建连接,浏览选择数据库(*.mdb),依次点击 下一步,选择 ...
- errno之我见
Errno能帮我们找到系统函数的错误信息. 比方open函数,假设正常返回时,其返回值是一个非负的整数. 异常时会返回-1.同一时候该系统函数会设置errno的值.让我们能够了解错误的原因. Errn ...
- Python rpartition() 方法
描述 Python rpartition() 方法用来根据指定的分隔符将字符串进行分割. 如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符前面的子字符串,第二个为分隔符本身,第三个为分 ...
- 如何安装rockmongo(gui for mongodb)
1.下载rockmongo 下载地址: http://rockmongo.com/downloads 将下载下来的压缩包rockmongo-1.1.5.zip解压到web 发布目录(我这里使用的是ap ...