1.直接在一个Fragment中调用另外一个Fragment中的方法

ContentFragment cf = (ContentFragment) getActivity()  .getFragmentManager().findFragmentById(  R.id.content_fg);  cf.showPro(name);  
2、在fragment中定义一个接口
interface cat cat{
void play();
}
给接口赋值:
@Override
public void onAttach(Activity activity) {  super.onAttach(activity);  if (activity != null) {  cat = (Cat) activity;  }
} 

在fragment需要的地方调用 cat.play();

在activity中实现接口
 private class XX implements Cat{
public void eat (){}
@orrvide
public void play(){
}
}

3 广播   封装的工具类

/*** [A brief description]* <p/>* //在任何地方发送广播* BroadcastManager.getInstance(mContext).sendBroadcast(FindOrderActivity.ACTION_RECEIVE_MESSAGE);* <p/>* //页面在oncreate中初始化广播* BroadcastManager.getInstance(mContext).addAction(ACTION_RECEIVE_MESSAGE, new BroadcastReceiver(){** @author huxinwu* @version 1.0* @Override public void onReceive(Context arg0, Intent intent) {* String command = intent.getAction();* if(!TextUtils.isEmpty(command)){* if((ACTION_RECEIVE_MESSAGE).equals(command)){* //获取json结果* String json = intent.getStringExtra("result");* //做你该做的事情* }* }* }* });* <p/>* //页面在ondestory销毁广播* BroadcastManager.getInstance(mContext).destroy(ACTION_RECEIVE_MESSAGE);* @date 2015-9-17**/
public class BroadcastManager {private Context mContext;private static BroadcastManager instance;private Map<String, BroadcastReceiver> receiverMap;/*** 构造方法** @param context*/private BroadcastManager(Context context) {this.mContext = context;receiverMap = new HashMap<String, BroadcastReceiver>();}/*** [获取BroadcastManager实例,单例模式实现]** @param context* @return*/public static BroadcastManager getInstance(Context context) {if (instance == null) {synchronized (BroadcastReceiver.class) {if (instance == null) {instance = new BroadcastManager(context);}}}return instance;}/*** 添加,定义一个匿名内部类的广播** @param*/public void addAction(String action, BroadcastReceiver receiver) {try {IntentFilter filter = new IntentFilter();filter.addAction(action);mContext.registerReceiver(receiver, filter);receiverMap.put(action, receiver);} catch (Exception e) {e.printStackTrace();}}/*** 发送广播** @param action 唯一码*/public void sendBroadcast(String action) {sendBroadcast(action, "");}/*** 发送广播** @param action 唯一码* @param obj    参数*/public void sendBroadcast(String action, Object obj) {Intent intent = new Intent();intent.setAction(action);intent.putExtra("result", new Gson().toJson(obj));mContext.sendBroadcast(intent);}/*** 发送参数为 String 的数据广播** @param action* @param s*/public void sendBroadcast(String action, String s) {Intent intent = new Intent();intent.setAction(action);intent.putExtra(AppField.result, s);mContext.sendBroadcast(intent);}  public void sendBroadcast(String action, int s) {Intent intent = new Intent();intent.setAction(action);intent.putExtra(AppField.result, s);mContext.sendBroadcast(intent);}/*** 销毁广播** @param action*/public void destroy(String action) {if (receiverMap != null) {BroadcastReceiver receiver = receiverMap.get(action);if (receiver != null) {mContext.unregisterReceiver(receiver);}}}
}
4、fragment中直接调用Activity中的public 属性或者方法
((MainActivity)getActivity()).eat();
参考链接 http://blog.csdn.net/u012702547/article/details/49786417

fragment与activity之间的通信相关推荐

  1. Android系列之Fragment(三)----Fragment和Activity之间的通信(含接口回调)

    [正文] 一.接口回调的简单引入: 我们先来看一个简单的接口回调的例子: 新建一个Java工程,然后新建一个包.然后新建一个A.java文件: A.java代码如下: 1 package com.cn ...

  2. Android(Fragment和Activity之间通信)

    Fragment的使用可以让我们的应用更灵活的适配各种型号的安卓设备,但是对于Fragment和Activity之间的通信,很多朋友应该比较陌生,下面我们就通过一个实例来看一看如何实现. 一.Acti ...

  3. 【Android 应用开发】Activity生命周期 与 Activity 之间的通信

    一. Activity生命周期 上图 1. Activity状态 激活状态 : Activity出于前台 , 栈顶位置; 暂停状态 : 失去了焦点 , 但是用户仍然可以看到 , 比如弹出一个对话框 , ...

  4. Android中BroadCast与Activity之间的通信

    在看本文之前,假设你对于Android的广播机制不是非常了解.建议先行阅读我转载的一篇博文:图解 Android 广播机制. 因为本案例比較简单,故直接在此贴出代码,不做过多的阐述. 先上效果截图: ...

  5. 静态注册fragment_Fragment的静态和动态添加方式以及Fragment和Activity之间的通信方式...

    一.静态添加方式:创建好Fragment之后,在需要使用碎片的Activity的布局文件中添加 标签. 二.动态添加方式:先创建好fragment的布局文件,然后创建一个继承自Fragment的 类( ...

  6. fragment与activity之间的信息传递的两种方式

    因为Fragment和Activity一样是具有生命周期,不是一般的bean通过构造函数传值,会造成异常. fragment与activity之间的信息传递的两种方式: 1.第一种方式,也是最常用的方 ...

  7. Activity——两个Activity之间的通信

    目录 两个Activity之间的通信 第一个Activity 第二个Activity 不积跬步,无以至千里:不积小流,无以成江海.要沉下心来,诗和远方的路费真的很贵! 两个Activity之间的通信 ...

  8. Android Fragment和Activity之间的交互方式

    Android应用主要的UI框架:TabLayout+ViewPager+Fragment组合方式+宿主Activity 在这样的框架之下,就会涉及到很多控件的交互,fragment与activity ...

  9. Fragment与Activity之间的相互通信

    https://blog.csdn.net/u012702547/article/details/49786417 https://blog.csdn.net/carson_ho/article/de ...

最新文章

  1. apache httpd 1
  2. C语言退出多层嵌套循环技巧
  3. 【Flutter】监听滚动动作 控制组件 透明度渐变 ( 移除顶部状态栏空白 | 帧布局组件 | 透明度组件 | 监听滚动组件 )
  4. 摩托罗拉能否追回逝去的那些年?
  5. Win11关机后自动开机怎么办 Win11关机后自动开机的解决方法
  6. 信息学奥赛一本通(1130:找第一个只出现一次的字符)
  7. 【Python】实现最大最小距离算法
  8. 算术基本定理“质数分解唯一性的证明”:古典方法与现代方法
  9. 序列化---fastjson使用
  10. 【强烈推荐】蒋勋细说《红楼梦》
  11. python安装失败找不到指定路径_解决安装python库时windows error5 报错的问题
  12. 家庭上网用路由器和ADSL的连接
  13. 记录一次bypy使用提示无法创建目录错误
  14. 测试LOL帧数的软件,lol手游画质帧率修改器
  15. matlab用于试验设计回归分析实验结果的例子
  16. ssm房屋中介管理系统毕业设计(附源码、运行环境)
  17. 四种快速简单添加视频字幕的方法,总有一款适合你
  18. 为什么我们创业失败了和选择创业公司的思考
  19. 移动硬盘提示格式化怎么办怎么恢复数据?
  20. 【硕士论文】《动态场景下的语义三维地图构建 》西南科技大学 余东应

热门文章

  1. oracle集群服务删除,删除 Support for Oracle RAC
  2. java word流_(word)java中字节流示例.doc
  3. java原生的ajax怎么写,用原生js实现 ajax方法
  4. 建立一个lstm_基于LSTM的双色球预测(一)
  5. mysql查出倒序第一条数据_[数据库]mysql 记录根据日期字段倒序输出
  6. OpenShift 4 - 直接将Web应用当成Serverless运行
  7. 微软在 ARM 上成功移植 OpenJDK for Windows 10
  8. 迁移潮来袭!数十个项目宣布即将停止支持 Python 2
  9. 使用EntityFramework Core和Enums作为字符串的ASP.NET Core Razor页面——第一部分
  10. 网易逆水寒服务器型号,从服务器爆满到无人问津的经典游戏