Android Fragment系列学习笔记之一

一、Fragment是什么

    碎片布局。

         FragmentActivity中的一部分内容。我们可以在一个单独的 Activity中使用多个 Fragment,用来构建 UI Panel,可以反复使用。可以想像它是 Activity中的一个模块,它有自己的生命周期,并且可以接收用户的一些输入事件。当 Activity运行的时候,可以将它从 Activity当中添加或者移除,就好比将 Fragment看作是 Activity的子窗口。

         注意,一个 Fragment都是要嵌套在 Activity之中的,并且 Fragment的生命周期是直接受到主 Activity的生命周期的影响。例如, Activity暂停的时候, Activity中所有的 Fragment都会处于暂停状态,当 Activity被消毁的时候,所有的 Fragment都同样被消毁。

         Activity在运行的时候,可以将每一个 Fragment当作一个独立的,我们可以去添加或移除它,当然这里面也会有一个事务的概念, Activity同时还具备回退栈的概念,回退栈即按 BACKFragment的一个回退机制。而 Fragment的回退栈是由谁去管理的呢?是由 Activity去管理的 ,当用户去执行 Fragment的时候,每执行一个,我们需要将它加入到一个回退栈中。因为这个 Fragment是属于 Activity的, Activity会帮我们去记录回退栈的状态信息。

二、创建Fragment
   需要声明一个类去继承 Fragment,去处理 Fragment中的一些回调方法。
   如果声明一个Fragment,至少要实现如下几个方法:
    1onCreate();
         fragment被创建的时候会调用。可以在这个方法中去初始一些变量需要在这里面去初始化。这个方法一般只调用一次,不会反复被调用。\

      2onCreateView();
         系统会调用它来画 UI的控件,即在这之中需要加载一个 View。为了画一个 UI控件给 Fragment,需要在这个方法中返回一个 View。通常是一个布局。可以返回 null,如果这个 Fragment不提供 UI的话。

      3onPause()

    系统第一次调用它的时候,指示用户可能会离开这个Fragment,可是并不意味着Fragment会被销毁,实际上通常在这里面需要提交一些改变了的数据,即用户要离开这个Fragment了,我们应该做数据的提交,有可能这个用户离开之后就不再回来了。

三、将Fragment加入到Activity当中

         1、在 ActivityLayout中,添加一个 LinearLayout,然后将 Fragment拖到这个 LinearLayout上放手,选择自己已经写好的 Fragment类名即可,然后运行。(这种方式是不用编码,用 xml直接来做的)使用 Fragment的一个最大的好处就是可以设计出一个非常复杂的 UI布局了。

         2、通过代码编写的方式将一个 Fragment添加到一个 ViewGroup当中,即添加到 Activity中。

    在 Activity运行的任意时刻,我们都可以去加一个 Fragment,加到 Activity的布局当中。这样就需要在 ViewGroup中去放置一个 Fragment。这种方式是开发中最常用的。
         为了能在 Activity运行的时候加载一个 Fragment,addremovereplace一个 Fragment,就必须使用到FragmentManager。

    3、FragmentManager
    FragmentManager是对碎片进行管理的,它可以进行add、remove、replace,即移除、添加或替换Fragment。将Fragment添加到哪里去呢?可以将Fragment加到某一个指定的布局,或者是替换到某一个布局上,这也是为什么要在Activity中的布局文件中指定一个布局id的原因。

    4、为什么需要使用FragmentTransaction?
    Activity当中使用FragmentTransaction对象,主要是为了在Acivity中add、remove、replace一个Fragment之后,通过调用fragmentTransation的commit()方法,去改变对布局的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值