public abstract class AbsShareMessageTemplates implements IShareMessageTemplates {
public final static String SHARE_EMPTY_FRAGMENT_TAG = "share_empty_fragment"; public AbsShareMessageTemplates(Activity activity){
if (activity instanceof FragmentActivity) {
FragmentManager fm = ((FragmentActivity) activity).getSupportFragmentManager();
LifeCycleFragment emptyFragment = new LifeCycleFragment();
emptyFragment.setIShareMessageTemplates(this);
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.add(emptyFragment, SHARE_EMPTY_FRAGMENT_TAG).commitAllowingStateLoss();
}
} public static class LifeCycleFragment extends Fragment{
private IShareMessageTemplates iShareMessageTemplates; public void setIShareMessageTemplates(IShareMessageTemplates iShareMessageTemplates) {
this.iShareMessageTemplates = iShareMessageTemplates;
} @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (iShareMessageTemplates != null) {
iShareMessageTemplates.handleActivityResult(requestCode, resultCode, data);
}
}
}
}
    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
FragmentManager fm = getSupportFragmentManager();
if(fm.getFragments()!=null && !fm.getFragments().isEmpty()) {
for (Fragment fragment : fm.getFragments()) {
if (null != fragment&&TextUtils.equals(fragment.getTag(), AbsShareMessageTemplates.SHARE_EMPTY_FRAGMENT_TAG)) {
fragment.onActivityResult(requestCode, resultCode, data);
}
}
}
}

onActivityResult 解耦 不需要一层一层的写的更多相关文章

  1. Synchronized解析——如果你愿意一层一层剥开我的心

    前言 synchronized,是解决并发情况下数据同步访问问题的一把利刃.那么synchronized的底层原理是什么呢?下面我们来一层一层剥开它的心,就像剥洋葱一样,看个究竟. Synchroni ...

  2. JSON:如果你愿意一层一层剥开我的心,你会发现...这里水很深——深入理解JSON

    我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是怎样的?先不要急着复制粘贴到控制台,先自己打开一个代码编辑器或者纸,写写看 ...

  3. 在web-inf外面 使用的是绝对路径进行访问 “/”表示访问文件夹 一层一层方式 我们在windos下访问文件夹也是一层一层的访问

  4. 【keras】用tensorboard监视CNN每一层的输出

    from keras.models import Sequential from keras.layers import Dense, Dropout from keras.layers import ...

  5. 在C#中该如何阻止虚方法的覆写

    在开发过程中,我们为了让一个类更有生命力,有时会用virtual来修饰一个方法好让子类来覆写它.但是如果有更新的子子类来覆写时,我们又不想让其影响到上一层的覆写,这时候就要用到new virtual来 ...

  6. 写出形似QML的C++代码

    最开始想出的标题是<Declarative C++ GUI库>,但太标题党了.只写了两行代码,连Demo都算不上,怎么能叫库呢……后来想换掉“库”这个字,但始终找不到合适词来替换.最后还是 ...

  7. 关于json序列化和反序列的问题,没事写个案例,希望能帮到那些需要帮忙的朋友!

    现在关于json的读写问题,有许许多多的解决方法,因人而异,根据实际问题去选择自己想要的最容易方法.我觉得自带的Newtonsoft.Json是个不错的选择,随便写两个例子吧! 一:关于简单的json ...

  8. 如何写好CSS?(OOCSS\DRY\SMACSS)

    我现在面对的CSS基本上就是一个三头六臂的怪物,一点不夸张,因为真的是三头六臂,同一个样式在同一个element上作用了好几遍,而同一个样式又分散在4,5个class上,优先级有很多层.可以看得出这个 ...

  9. 【转】零基础写Java知乎爬虫之进阶篇

    转自:脚本之家 说到爬虫,使用Java本身自带的URLConnection可以实现一些基本的抓取页面的功能,但是对于一些比较高级的功能,比如重定向的处理,HTML标记的去除,仅仅使用URLConnec ...

  10. 仿写Windows7桌面和任务栏 HTML5+CSS3+Jquery实现

    过去一段时间零零散散的自学了一点点jquery的相关用法,基本上属于用到哪个了,就去查然后就学一点,没有系统的学过,深入的用法也不是特别了解,毕竟javascript基础就比较薄弱.经过一段时间的零敲 ...

随机推荐

  1. 把 URL 中文和一堆百分号转换成字符串

    https://www.cnblogs.com/Enziandom/tag/Web%20%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91 JS 有解析这样的 URL 的函数,主 ...

  2. 数据结构和算法day1(Java)

    1.什么是数据结构? 数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据. 1.2.数据结构的分类: 逻辑结构 和物理结构 逻辑结构: 集合结构(无关系).线性结构(一对一).树形 ...

  3. 普冉PY32系列(六) 通过I2C接口驱动PCF8574扩展的1602LCD

    目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...

  4. java学习日记20230227-java代码规范

    JAVA代码规范 类,方法的注释要使用javadoc来写 非javadoc的注释往往是给代码维护者看的,着重告诉读者为什么这么写,如何修改,注意什么问题等 使用tab操作,实现缩进,默认整体向右边移动 ...

  5. JDK8在xp安装办法

    jdk默认不支持xp,用到了后来的api,直接没法安装. 具体安装步骤: 1.用7-zip打开jdk8的版本8u231之前的版本. 2.导航到 .rsrc\1033\JAVA_CAB10\111把里面 ...

  6. Python安装第三库超时的解决方法

    Python安装第三库超时的解决方法 1. 在很多时候使用python的时候需要使用到某些第三方库,比较常规的方法是使用cmd命令使用在线安装的方法(前提是在安装好了python相应版本时候配置好了相 ...

  7. python实现发票二维码解析

    通过发票左上角的二维码信息,获取发票的关键信息,只需将图片格式的电子发票或扫描后的发票图片传入即可. 测试结果如下: 增值税电子普通发票:{'发票代码': '031xxxxxx311', '发票号码' ...

  8. idea-lombok使用

    一.添加 lombok 插件 file -- setting  -- plugins - 输入 Lombok 搜索,进行安装 二.引入依赖 <dependency> <groupId ...

  9. js 处理大数相减

    function sub(num1, num2) { if(num1 === num2) return '0' function lt(num1, num2) { if (num1.length &l ...

  10. url 编码解码

    from urllib import parse#url编码url = 'http://www.baidu.com?query = python基础教程'url_str = parse.quote_p ...