文档章节

Fragment和Fragment之间的通讯

TianBinrui
 TianBinrui
发布于 2017/07/09 19:50
字数 250
阅读 5
收藏 0

Fragment 的存在必须要要依附于Activity,FragmentActivity是继承Activity的。Fragment和Fragment之间的通讯的桥梁就是这个FragmentManager这个类,这个类是用来管理所有的这个Fragment的,所以我们能找到任何一个你所需要的Fragment类。所以,只要在提供一个公共方法,那么就可以在其他的Fragment中找到你需要的Fragment直接调用方法(这样就相当与对象直接调用方法而已,只是我们没有去new的形式而已),如下面的代码。

 

 

需要在LeftFragement中修改RightFragment中的TextView的值。

 

public class RightFragment extends Fragment{

 

   private TextView textView;

@Override

   public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle  savedInstanceState)            {

View view = inflater.inflate(R.layout.fragment_right, null);

textView = (TextView)view.findViewById(R.id.tv_change);

return view;

}

 

public void changeText(String str){

textView.setText(str);

}

}

 

public class LeftFragment extends Fragment{

 @Override

 public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

     View view = inflater.inflate(R.layout.fragment_left, null);

     Button btn = (Button) view.findViewById(R.id.btn);

     btn.setOnClickListener(new OnClickListener() {

   @Override

   public void onClick(View v) {

     FragmentManager fm  = getActivity().getSupportFragmentManager();

     RightFragment rightFragment = (RightFragment) fm.findFragmentById(R.id.fragment_text);                      rightFragment.changeText("已经被改变....");

           }

     });

    return view;

}

}

© 著作权归作者所有

共有 人打赏支持
下一篇: 回调接口
TianBinrui
粉丝 1
博文 50
码字总数 23996
作品 0
太原
私信 提问
Android Browser学习七 书签历史模块: 书签UI的实现(2)

由于书签模块还是比较复杂的, 为了不让博客变得太长, 故拆分为两篇. 上一篇介绍了书签大致的实现, 本篇主要介绍 1.书签模块BreadCrumb的实现, 2.书签模块与Activity之间的通讯, 3. 修改添加书...

SuShine
2014/03/22
0
0
Android Fragment 使用详解

有关Android Fragment相关内容,我们在Fragment对比Activity - Android碎片介绍一文简单讲了下Fragment的作用以及它的生命周期,今天主要讲些Fragment的管理控制、性能优化以及和Activity的传...

鉴客
2011/12/12
8.5K
0
改造 Android 官方架构组件 ViewModel

原文地址: http://www.jianshu.com/p/963a9d146da7 前言 Android 官方架构组件在今年 5 月份 Google I/O 大会上被公布, 直到 11 月份一直都是测试版, 由于工作比较繁忙, 期间我只是看过类似的...

JessYan
2017/12/14
0
0
android开发之Fragment 的生命周期及使用方法详解

Fragment 的基础知识介绍 1.1 概述 1.1.1 特性 ragment 是 activity 的界面中的一部分或一种行为。可以把多个 Fragment 组合到一个 activity 中来创建一 个多面界面并且可以在多个 activity...

you缘么
2016/04/28
89
0
android Fragments详解五:与activity通讯

与activity通讯 尽管fragment的实现是独立于activity的,可以被用于多个activity,但是每个activity所包含的是同一个fragment的不同的实例。 Fragment可以调用getActivity()方法很容易的得到...

晨曦之光
2012/03/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

什么是自然语言处理技术

自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计...

本宫没空2
3分钟前
0
0
移动端关闭虚拟键盘

那么document.activeElement.blur()为什么可以阻止虚拟键盘弹出呢?原因是:当你点击input的时候,document.activeElement获得了DOM中被聚焦的元素,也就是你点击的input,而调用.blur()方法...

niuhongxia
3分钟前
0
0
Ubuntu18.04安装RabbitMQ(正确安装)

1、安装erlang 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang sudo apt-get install erlang-nox 2、安装Rabbitmq 更新源 sudo apt-get update 安装 sudo apt-get ins...

hansonwong
12分钟前
0
0
如何在以太坊开发发行自己的ERC-20数字货币

今天我将向你展示如何在以太坊区块链上开发你自己的加密货币并将其出售!我将向你展示如何使用以太坊智能合约逐步创建自己的ERC-20代币和众筹销售,如何测试智能合约,如何将智能合约部署到以...

geek12345
13分钟前
0
0
Vlock用于有多个用户访问控制台的共享 Linux 系统

当你在共享的系统上工作时,你可能不希望其他用户偷窥你的控制台中看你在做什么。如果是这样,我知道有个简单的技巧来锁定自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统。 ...

linuxprobe16
14分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部