关于在Fragment中使用startActivityForResult();方法后onActivityResult()未被调用的解决方案
2015-11-05 16:34
295 查看
关于在Fragment中使用startActivityForResult();方法后onActivityResult()未被调用的解决方案.
一、继承Fragment,在其内部维护一个栈
重载Fragment的startActivityForResult(),和onActivityResult()方法,具体实现参考以下代码。
private static Stack<BaseFragment> fragmentStack = new Stack<>(); @Override public void startActivityForResult(Intent intent, int requestCode) { Fragment parentFragment = getParentFragment(); if (null != parentFragment) { fragmentStack.push(this); parentFragment.startActivityForResult(intent, requestCode); } else { super.startActivityForResult(intent, requestCode); } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { BaseFragment fragment = fragmentStack.isEmpty() ? null : fragmentStack.pop(); if (null != fragment) { fragment.onActivityResult(requestCode, resultCode, data); return; } super.onActivityResult(requestCode, resultCode, data); }
相关文章推荐
- phpexcel基本属性及应用
- 【04】emmet系列之编辑器
- Android应用设置系统情景模式
- Selenium WebDriver Demo
- mysql 优化
- Java面向对象基础
- HTML与CSS零碎知识点归纳
- 杭电-Super Jumping! Jumping! Jumping!(LIS)
- 文章标题
- APS.NET MVC4生成解析二维码简单Demo
- 盒子模型
- poj 1149 PIGS【最大流经典建图】
- js原生设计模式——8单例模式之简约版属性样式方法库
- 《C Primer Plus》学习笔记之 C数据的属性(二)存储类
- Angularjs filter 过滤器以及自定义 filter 过滤器详解
- JAVA学习_00
- Junit使用教程(二)
- Scala开发环境配置
- 2-13. 平均两个有序序列(25)(ZJU_PAT 名单 | 排列 )
- 日记2015.11.5