1. public void onAttach(Activity activity)

当Fragment被添加到Activity时候会回调这个方法,并且这个方法只会被回调一次

2. public void onCreate(Bundle saveInstanceState)

创建Fragment的时候被回调,只会被调用一次

3. public void onActivityCreated(Bundle saveInstanceState)

当Fragment所在的Activity启动完成后调用

4. public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle saveInstanceState)

每次创建都会绘制Fragment的View组件时回调该方法

5. public void onStart()

启动Fragment

6. public void onResume()

恢复Fragment时会被回调,调用onStart()方法后面一定会调用onResume()方法

7. public void onPause()

暂停Fragment

8. public void onStop()

停止Fragment

9. public void onDestoryView()

销毁Fragment所包含的View组件时被调用

10. public void onDestory()

销毁Fragment时被调用

11. Public void onDetch()

Fragment在Activity中删除时被调用,并且这个方法只会被调用一次

--------------------------------------------------------------------

Fragment与Activity的通信

1. Fragment可调用getActivity()方法获取它所在的Activity

2. Activity可调用FragmentManager的findFragmentById()或findFragmentByTag()方法获取Fragment

3. Activity-----àFragment:在Activity中创建Bundle数据包,并调用Fragment的setArguments(Bundle bundle)方法

4. Fragment---àActivity:需要在Fragment中定义一个内部回调接口,再让包含该Fragment的Activity实现接口回调。这样Fragment可调用该回调方法将数据传递给Activity

--------------------------------------------------------------------Eg:

&&通过Fragment与Activity的通信实现上述操作

1. 分析Layout,需要两个Layout

一个layout为一个LinearLayout[s1] 下包含<EditText> <Button>

一个为Layout为一个LinerLayout包含的<fragment>

2. 布局完成后书写MyFragment.java,并且继承Fragment

含有一个setContentView()的方法

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragment2, container, false);

TextView tv = (TextView) view.findViewById(R.id.text);

String text=getArguments().get("name")+""[s2] ;

tv.setText(text);

return view;

3. 书写MyActivity.java,并且继承Activity

① 控件初始化等操作省略

② 增加Button的点击事件

send.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

String text = editext.getText().toString();

MyFragment5 fragment5 = new MyFragment5();[s3]

Bundle bundle = new Bundle();[s4]

bundle.putString("name", text);[s5]

fragment5.setArguments(bundle);[s6]

FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction beginTransaction = fragmentManager

.beginTransaction();[s7]

beginTransaction.add(R.id.layout, fragment5, "fragment5");[s8]

beginTransaction.commit();


[s1]含有Id

[s2]用于接受值

[s3]创建Fragment的对象

[s4]声明数据包

[s5]数据包中的数据赋值

[s6]将数据传递给Fragment

[s7]创建事务

[s8]向当前视图中添加View对象【布局 <<<ß------数据】

Android成长日记-Fragment的生命周期与Activity通信的更多相关文章

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

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

  2. Android成长日记-Fragment

    (一)Android在3.0中引入了Fragment的概念,主要目的是用在大屏幕设备上—例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机大的多,有更多的空间放更多的UI组件,并且这 ...

  3. Fragment的生命周期和Activity之间的通信以及使用

    Fragment通俗来讲就是碎片,不能单独存在,意思就是说必须依附于Activity,一般来说有两种方式把Fragment加到Activity,分为静态,动态. 静态即为右键单击,建立一个Fragme ...

  4. Fragment的生命周期和activity如何的一个关系

  5. fragment的生命周期及其各个周期方法的作用

    先上生命周期图: Fragment的生命周期图: 与Activity的生命周期对比图: 由于Fragment是嵌在Activity中使用的,故其生命周期也是依赖于Activity的周期的,或者说Fra ...

  6. Android系列之Fragment(二)----Fragment的生命周期和返回栈

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  7. 【Android】11.4 Fragment及其生命周期

    分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 Android从3.0开始引入了fragment的概念,主要是为了支持在大屏幕上实现更为动态和灵活的UI设计,比如 ...

  8. Android学习笔记(六)Fragment的生命周期

    在上一篇博文中对Fragment做了简单的介绍,现在再来探讨一下Fragment的生命周期. 一.Fragment的几种状态: 与Activity类似,Fragment也有一下几种状态: · 活动状态 ...

  9. Fragment的生命周期(三)

    自定义lifecycleoffragment布局文件 在main_activity布局中引用自定义的fragment布局 到logcat中查看程勋运行的结果 代码如下: 自定义的fragment布局: ...

随机推荐

  1. Autofac中的属性注入功能使用

    使用依赖注入容器时,大部分都是使用构造函数来注入或者是xml配置文件.也有很多支持属性注入.Autofac就是其中一个. 1 为什么要有属性注入? 对于一些使用特频繁的类或者方法,很多类都会用到,那么 ...

  2. Webwork 学习之路【02】前端OGNL试练

    1.OGNL 出现的意义 在mvc中,数据是在各个层次之间进行流转是一个不争的事实.而这种流转,也就会面临一些困境,这些困境,是由于数据在不同世界中的表现形式不同而造成的: a. 数据在页面上是一个扁 ...

  3. 更好的逐帧动画函数 — requestAnimationFrame 简介

    本文将会简单讲讲 requestAnimationFrame 函数的用法,与 setTimeout/setInterval 的区别和联系,以及当标签页隐藏时 requestAnimationFrame ...

  4. Javascript中判断数组的正确姿势

    在 Javascript 中,如何判断一个变量是否是数组? 最好的方式是用 ES5 提供的 Array.isArray() 方法(毕竟原生的才是最屌的): var a = [0, 1, 2]; con ...

  5. unity3d 音频无缝循环

    在我做赛车漂移的时候,漂移的声音断断续续的,搞得我很郁闷 大家可以随便找个音效然后循环播放去仔细听 你会发现当音效播放完成一次之后循环播放第二次时会停顿一下 我做赛车漂移如果中途停顿了体验是非常不好的 ...

  6. jquery图片轮播效果(unslider)

    今天做网站(住建局网站)需要用到图片轮播,刚开始想借鉴DTCMS上的,查看CSS与页面代码,呵呵,不复杂,直接复制过来,结果调整半天,页面还是各种乱,没办法,网上找一个吧,于是找到了今天要说的这货un ...

  7. 百度Android定位SDK获取位置

    http://gis.sunxianlei.cn/2013/01/27/%E7%99%BE%E5%BA%A6android%E5%AE%9A%E4%BD%8Dsdk%E8%8E%B7%E5%8F%96 ...

  8. memcache 安装

    1 下载两个文件 wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz wget http://www.monkey.org/ ...

  9. Beta版本冲刺———第一天

    会议照片: 项目燃尽图: 1.项目进展: 昨天的困难:对2048项目中方块颜色的调整 今天解决的进度:调整了方块的颜色,原来用UIColor.(颜色名)color颜色效果不是很好,现在改用了RGB调色 ...

  10. sublime package control 被墙的解决方法

    在host里面配置 50.116.34.243 sublime.wbond.net 好用的插件地址 http://www.thinkphp.cn/topic/37057.html