做系统时间久了,应用层的很多东西都忘了,但是基础还是得巩固,下面对fragment相关的知识点简单整理一下。

一、fragment的引入

fragment是从Android3.0(API level 11)引入的,它的引入最初是为了支持大屏设备,如平板电脑,使其可以更加动态和灵活的进行UI设计。目前使用fragment可以简化UI组件,对UI组件分组,进行模块化管理。

二、fragment的生命周期

fragment是需要嵌入在Activity中的,但是它也有自己的生命周期,分别对应十一个生命周期中的回调方法,见如下官方的图片

其中,onCreateView是其中复写最普遍的方法,因为该方法中会inflate它的布局view并对其中组件做相应的初始化,最后会把该view return表明需要加载的布局。

三、fragment的创建

这里基本上都是模板代码了,就是在依赖的activity中会初始化fragment,然后通过 getFragmentManager().beginTransaction().replace(...).commit(); 来完成fragment的加载替换工作。

四、fragment与activity之间的通信

fragment中获取依赖的activity使用getActivity()方法,向它传递数据则需要使用回调的方法,可以在fragment中创建一个public的内部接口,然后让activty实现该接口;

activity得到fragment则可以通过getFragmentManager()方法获取相关的FragmentManager,调用方法findFragmentById(int id)或findFragmentByTag(String tag)方法获取,传递数据则可以使用Bundle,在Bundle中封装好数据后使用fragment的setArguments(Bundle bundle)方法传递数据该fragment,在fragment中使用getArguments或者onCreate等方法中均可以获得该bundle,进而获取传递的数据。

Fragment要点复习的更多相关文章

  1. ContentProvider要点复习

    ContentProvider要点复习 ContentProvider作为四大组件之一,发挥着举足轻重的作用.与之相关联的另外两个类分别是ContentResolver和ContentObserver ...

  2. javaweb要点复习 jsp和servlet

    jsp:就是java server page ,  html嵌入java  ,所以更方面显示(V) serlet,就是服务器端小程序 java中嵌入html,更方面业务处理. jsp执行过程 1)客户 ...

  3. C++基本要点复习--------coursera程序设计实习(PKU)的lecture notes

    因为一些特性复杂,很多时候也用不到一些特性,所以忘记了,算是随笔,也当作一个临时查找的手册.没有什么顺序,很杂. 1.构造函数通过函数重载的机制可以有多个(不同的构造函数,参数个数,或者参数类型不同. ...

  4. C#字符串要点(复习专用)

    一.字符串 通过string定义一个字符串,或者通过String类来创建对象. 通过new String() 创建有一下几种构造函数(从元数据),以此顺序创建string: // // 摘要: // ...

  5. OpenGL复习要点

    [OpenGL要点复习] 1.和像素有关的信息(例如像素的颜色)组织成位平面 (bitplane)的形式,位平面又可以组织成帧缓冲区(framebuffer)的形式.位平面是一块内存区域,保存了屏幕上 ...

  6. Android UI开发详解之Fragment

    Fragment是Android自从3.0之后新加入的一个组件,我相信很多人都已经听说过这个组件了,但这个组件到底是个什么,如何去使用他呢,且听我讲来. 以下部分资料来自官网(官网才是王道,其他都是浮 ...

  7. (转)android之Fragment(官网资料翻译)

    Fragment要点 Fragment作为Activity界面的一部分组成出现 可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用. ...

  8. android 之Fragment(官网资料翻译)

    原文地址: http://blog.csdn.net/lilu_leo/article/details/7671533 ***************************  正文分割线 ***** ...

  9. android之Fragment(官网资料翻译)

    Fragment要点 Fragment作为Activity界面的一部分组成出现 能够在一个Activity中同一时候出现多个Fragment,而且,一个Fragment亦可在多个Activity中使用 ...

随机推荐

  1. 调用KEditor批量上传图片

    调用KEditor批量上传图片: <script charset="utf-8" src="/Keditor/kindeditor.js">< ...

  2. VS C#开发中WinForm中Setting.settings的作用

    .定义 在Settings.settings文件中定义配置字段.把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改.可以使用数据网格视图,很方便: .读取配置值 tex ...

  3. js常用正则

    var sTest="xxxkdsj234dogdog1234xx"var reTest1=/(dog){2}/var reTest2 = /(?:dog){2}/;console ...

  4. Tcc学习笔记(三) 使用举例

    TCC的使用以使用第三方库为例子,例子包括:OpenGL , GMP以及SDL等. 1.TCC使用GLUT 去OpenGL下载http://www.opengl.org/resources/libra ...

  5. java查看当前项目所有线程列表界面

    java查看当前项目所有线程列表界面 1.TestThread(测试类) package com.isoftstone.pcis.isc.job.king.panel; public class Te ...

  6. 背包九讲 && 题目

    ★.背包求方案数的时候,多重背包是不行的,因为产生重复的背包会有多种情况. ★.背包记录路径的时候,其实是不行的,因为更新了12的最优解,如果它依赖于6这个背包,然后你后面改变了6这个背包,就GG 1 ...

  7. JavaScript 对象、DOM对象、jquery对象的区别、转换详解

    一.JavaScript 对象 JavaScript 提供多个内建对象,比如 String.Date.Array 等等. 对象只是带有属性和方法的特殊数据类型. 访问对象的属性: [javascrip ...

  8. ios pod库更新到1.0或1.0.1之正确修改podfile文件

    今天看到cocopods都更新到1.0.1了,之前什么时候更新到的1.0都没发现,刚刚更新一下之后,立马出现了一大堆的错误. 如果没有更新的话,建议不要更新!!!书写麻烦了! 现在记录如何一步一步去除 ...

  9. 技术英文单词贴--N

    N normally 正常地,一般地

  10. opencv单目摄像机标定(一)

    #include <string> #include <iostream> #include <cv.h> #include <highgui.h> u ...