zoukankan      html  css  js  c++  java
  • Fragment在xml中但作用不是显示view

    2013-12-17

    有时候会发现在xml文件中有使用fragment,但是却不是为了显示View,代码如下:

     1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     tools:context=".AnimTest" >
     6       
     7     <fragment
     8         android:id="@+id/loader_fra"
     9         class="com.example.sdtest.LoadInXmlFragment"
    10         android:layout_height="0dip"
    11         android:layout_width="0dip"
    12         android:visibility="gone"/>
    13   
    14     <ImageView
    15         android:id="@+id/welcome_image"
    16         android:layout_width="wrap_content"
    17         android:layout_height="wrap_content"
    18         android:src="@drawable/phone"
    19         tools:ignore="ContentDescription" />
    20   
    21 </FrameLayout>

    可以看到上面xml文件中有LoadInXmlFragment,那我们来看看当进入和退出Activity时Activity和LoadInXmlFragment的生命周期, log如下:

     1 // Enter Activity:
     2 D/David-Activity( 7378): onCreate
     3 D/David-Fragment( 7378): onAttach
     4 D/David-Activity( 7378): onAttachFragment
     5 D/David-Fragment( 7378): onCreate
     6 D/David-Fragment( 7378): onCreateView
     7 D/David-Fragment( 7378): onActivityCreated
     8 D/David-Activity( 7378): onStart
     9 D/David-Fragment( 7378): onStart
    10 D/David-Activity( 7378): onResume
    11 D/David-Fragment( 7378): onResume
    12 // Exist Activity:
    13 D/David-Fragment( 7378): onPause
    14 D/David-Activity( 7378): onPause
    15 D/David-Fragment( 7378): onStop
    16 D/David-Activity( 7378): onStop
    17 D/David-Fragment( 7378): onDestroy
    18 D/David-Activity( 7378): onDestroy
    D/David-Fragment表示LoadInXmlFragment中打印的log;
    D/David-Activity表示Activity中打印的log;
    可以看到Fragment基本是随着Activity执行自己的生命周期函数,因此这样使用Fragment的好处是:
    1. 由于Fragment的上面周期和Activity保持一致,因此可以利用其完整的生命周期,将某些需要在Activity特定生命周期中执行的操作放在Fragment里面;
    2. 保证较好的编码风格;
    3. 目前就想到这么多,希望大家补充;

    这种方式在Phonebook应用中很常见。

  • 相关阅读:
    如何用代码来修改目录的权限
    php广告显示设置存放记录的目录代码
    本函数用来改变目前 php 执行的目录到新的 directory 目录中
    for循环的时候是按照数字递增会造成一些元素被遗漏
    php常用的对字符串进行加密的算法
    关于如何用php 获取当前脚本的url
    将正确的 HTTP 头转发给后端服务器的一些问题
    应用服务器上部署自己的 blog 和 wiki 组件。
    PHP统计字符串里单词查询关键字
    (在线工具)JSON字符串转换成Java实体类(POJO)
  • 原文地址:https://www.cnblogs.com/wlrhnh/p/3478145.html
Copyright © 2011-2022 走看看