zoukankan      html  css  js  c++  java
  • 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共执行了五组,在最后退出时,对应的五组全部释放

  • 相关阅读:
    android获取sd卡路径方法
    Log4Net的使用
    asp.net网站发布
    用网站(WebSite而不是WebProject)项目构建ASP.NET MVC网站
    Asp.Net MVC 路由
    面试题:两个栈模拟队列&&两个队列模拟栈
    TextBlob Quick Start
    链表基本操作题
    leetcode341 扁平化嵌套数组
    细说浏览器输入URL后发生了什么
  • 原文地址:https://www.cnblogs.com/jieling/p/14789718.html
Copyright © 2011-2022 走看看