Android.15.Fragment 和 参数传递

00. Fragment,就是一个子activity, 便于合理布局来达成应用; 可以做为Activity中的一个成员部分;

     

 

 

01. Fragment的特性

     a. 具备生命周期;

     b. 必须委托在activity中才能运行;

02. Fragment 的使用方法

    step1. 配置fragment模块

             

 

     step2. 配置fragment布局(为便于控制,相应的组件对象需要配置id)

             

 

     Step3.  配置Activity ,并添加 fragment

           

 

     Setp4.配置fragment,并关联相应的成员组件

          

 

   Step5. 最简易的fragment已经基本完成

          

  

    Step6. 一个Activity中,配置多个fragment

         

        *** 经测试,二个fragment的name,是可以一样的,只要二个fragment 的id不一样就行了

       

 03. 动态加载 fragment 

      step1. 配置activity, 

         

 

     Step2. Activity功能配置及效果

         

    Step3. 历史栈的现象

        a.未添加到历史栈中

        

      b. 添加到历史栈

        

 

04. Activity 与 fragment 之间数据的传递

      Step1. 加载 fragment前,配置参数,并加入到 fragment中

       

 

     Step2. 获取和使用参数

        

 

 05. 通过接口单元进行通讯

      主体思想是构建一个接口单元,在Activity中创建 fragment 的时候,传入接口,在fragment中,通过传入的接口进行函数调用,以达到数据传输的需求

      Step1. fragment 界面配置

       

 

     Step2. 在Activity中配置交互布局

       

 

     Step3.接口定义

       

 

    Step4. fragment中功能按钮的配置及接口函数的调用

     

 

     Step5. 从 activity中逆向回调fragment中的相应业务

      

 

 06. Fragment生命周期

      a. 生命周期的过程

         

 

  fragement实际的生命轨迹,不一定是上图完整的流程,依据操作的不同,存在不同的轨迹

  为有效检测不同操作情况下,不同fragment 的生命轨迹,做出如下配置:

  Step1. Activity配置

            

 

   Step2. 二个fragment, 只配置背景色用以识别

   Step3.  为测试用的2 个fragment 配置完整的生命周期事件日志(override), 并做日志 --> 便于了解生命轨迹;

   Step4.  Activity 功能配置

           

 

   至此,准备工作已完成,现在将根据是否加入历史栈来分别跟踪不同情况下的fragment生命轨迹

 

A: 不加入历史栈

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

        

 

B: 加入历史栈

===================================================================================

         

 

 

  C:直接退出程序

====================================

在退出程序前,二个fragment共执行了五组,在最后退出时,对应的五组全部释放

 

posted @ 2021-05-20 18:18  耗喜天涯  阅读(253)  评论(0编辑  收藏  举报