1.本文讲述如何fragment与fragment之间互传信息,不用使用Activity的onActivityResult()方法

核心思想:FirstFragment获取到SecondFragment的对象,然后调用SecondFragment的onActivityResult()方法

CrimeFragment.java

private static final int REQUEST_DATE = ;
private static final String DIALOG_NAME = "dateDialog";
private Crime mCrime; mDateBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getActivity().getSupportFragmentManager();
DateDialog dateDialog = DateDialog.newInstance(mCrime.getDate());
dateDialog.setTargetFragment(CrimeFragment.this,REQUEST_DATE);
//最重要的方法:获取Fragment对象
dateDialog.show(fm,DIALOG_NAME);
}
});
//重写onActivityResult()方法
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_DATE){
Date date = (Date)data.getSerializableExtra(EXTRA_NEW_DATE);
mDateBtn.setText(date.toString());
mCrime.setDate(date);
}
}

DialogFragment.java

new AlertDialog.Builder(getActivity())
.setView(v)
.setTitle(R.string.setDate)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (getTargetFragment() == null)
return;
Intent intent = new Intent();
intent.putExtra(CrimeFragment.EXTRA_NEW_DATE,mDate);
getTargetFragment().onActivityResult(getTargetRequestCode(), Activity.RESULT_OK,intent);
//getTargetFragment()获取对象并调用onActivityResult方法
}
})
.create();

fragment之间的信息交互——onActivityResult()不经过Activity的更多相关文章

  1. Android中使用开源框架EventBus3.0实现Fragment之间的通信交互

    1.概述 在之前的博文中简单介绍过如何实现fragment之间的信息交互:<Android中Fragment与Activity之间的交互(两种实现方式)>,今天继续给大家介绍一种可以实现此 ...

  2. Android学习路径(23)应用Fragment建立动态UI——Fragment之间的通信

    为了要重用Fragment的UI组件.你应该为它们每个都构建一个完整独立的,模块化的组件来定义他自身的布局和行为. 一旦你定义了这些可重用的Fragments.你能够通过activity关联它们同一时 ...

  3. Fragment的生命周期&同一Activity下不同Fragment之间的通信

    Android开发:碎片Fragment完全解析(2) Fragment的生命周期 和Activity一样,Fragment也有自己的生命周期,理解Fragment的生命周期非常重要,我们通过代码的方 ...

  4. 安卓任意两个或多个Fragment之间的交互与刷新界面

    平时项目中遇到一个问题:在子fragment中刷新父fragment的界面,通俗的说也就是在任何一个fragment中来刷新另一个fragment.大家都知道activity和fragment之间的交 ...

  5. Fragment之间的交互

    通常,一个活动可能包含一个或多个协同工作的Fragment以向用户展现一致的UI.在这种情况下,Fragment之间就需要彼此通信并交换数据,这是非常重要的.例如,一个Fragment可能包含了一个条 ...

  6. Android进阶之Fragment与Activity之间的数据交互

    1 为什么 因为Fragment和Activity一样是具有生命周期,不是一般的bean通过构造函数传值,会造成异常. 2 Activity把值传递给Fragment 2.1 第一种方式,也是最常用的 ...

  7. Fragment之间的通信

    在本节中,你会学到 1.定义接口 2.实现接口 3.将消息传递给fragment 为了重用Fragment UI 组件,在设计中你应该通过定义每一个fragemnt自己的layout和行为,让frag ...

  8. 纳税服务系统【信息发布管理、Ueditor、异步信息交互】

    需求分析 我们现在来到了纳税服务系统的信息发布管理模块,首先我们跟着原型图来进行需求分析把: 一些普通的CRUD,值得一做的就是状态之间的切换了.停用和发布切换. 值得注意的是:在信息内容中,它可以带 ...

  9. 2、实现不同子网之间的信息交流(互相可以PING通)

    一.环境: 二个不同的虚拟子网 VMnet1: 192.168.155.0/24 VMnet8: 192.168.170.0/24 编辑 --> 虚拟网络编辑器 (查看自己的子网,相应修改就行) ...

随机推荐

  1. 关于javascript 数组的正态分布排序的一道面试题

    最近几天顶着上海40°的凉爽天气找工作,心里是开心的不要不要的,每次面试都是要坐那里出半天汗才能回过神来,感觉到了这个世界对我深深的爱意,言归正传,面试过程中碰到了几次笔试,其中有这么一道题,由于实际 ...

  2. poj 3744 矩阵 高斯消元

    着实被批评了一下,自己的数论确实太烂了. 题意:一条路上,有n个炸弹,给出每个炸弹的位置,一次走一步的概率是p,走两步的概率是1-p.求安全走完的概率. 定义dp[i] = dp[i-1]*p + d ...

  3. 2015.4.7-C#入门基础(一)

    一. .net framework 的特点 1.两个主要组件 1> CLR 表示运行时的环境,同时也保证了.net 中的一种一种语言具有的功能其他语言也都具有: 2> 统一的类库集 2.M ...

  4. .Net框架中,.ashx页面访问session

    public class ClassName : System.Web.SessionState.IRequiresSessionState 需实现session接口

  5. webStorm 列编辑

    webStorm可以像Sublime一样使用列编辑,只是区别在于webStorm只可以编辑连续列表. 按住alt键鼠标选择一列,然后输入文字就会编辑多行,这个功能很赞,比较实用

  6. PHP QR Code封装二维码生成教程

    今天搞了一下二维码封装在tp框架上运用. 找了下草料网, api接口要收费, 现在找到了两种方法来实现用PHP来实现创建二维码. 由于二维码生成,会使用到PHP的GD库, 我们要先在PHP.ini文件 ...

  7. 1021 Fibonacci Again (hdoj)

    Problem Description There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) ...

  8. win7 PHP7.0的PDO扩展

    一个非常棘手的问题,win7(64位)环境,编译安装的mysql,php无法使用pdo扩展. 而我的centos中yum安装的php,pdo是好用的. 百度了一大堆,都无法解决. 基本上百度到的都是要 ...

  9. Repository仓储 UnitofWork

    Repository仓储 UnitofWork 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来创建仓储类Repository 并且引入 UnitOfWork 我对 ...

  10. Oracle EBS-SQL (INV-8):检查物料入库明细信息.sql

    select a.vendor_number             供应商编码      ,a.vendor_name                   供应商名称      ,a.item_nu ...