fragment的做業

Fragment是一種嵌入在Activity中的UI片斷,它能夠用來描述Activity中的一部分佈局。android

若是Activity界面佈局中的空間比較多比較複雜,用Activity管理起來比較麻煩,能夠用Fragment把屏幕劃分幾個片斷,進行模塊化管理,能夠使程序更加合理和充分地利用屏幕的空間。app

Fragment生命週期:ide

1. 當一個fragment被建立的時候,它會經歷如下狀態.模塊化

  • onAttach()
  • onCreate()
  • onCreateView()
  • onActivityCreated()

2. 當這個fragment對用戶可見的時候,它會經歷如下狀態。佈局

  • onStart()
  • onResume()

3. 當這個fragment進入「後臺模式」的時候,它會經歷如下狀態。spa

  • onPause()
  • onStop()

4. 當這個fragment被銷燬了(或者持有它的activity被銷燬了),它會經歷如下狀態。code

  • onPause()
  • onStop()
  • onDestroyView()
  • onDestroy() // 原本漏掉類這個回調,感謝xiangxue336提出。
  • onDetach()

5. 就像activitie同樣,在如下的狀態中,能夠使用Bundle對象保存一個fragment的對象。xml

  • onCreate()
  • onCreateView()
  • onActivityCreated()

6. fragments的大部分狀態都和activitie很類似,但fragment有一些新的狀態。對象

  • onAttached() —— 當fragment被加入到activity時調用(在這個方法中能夠得到所在的activity)。
  • onCreateView() —— 當activity要獲得fragment的layout時,調用此方法,fragment在其中建立本身的layout(界面)。
  • onActivityCreated() —— 當activity的onCreated()方法返回後調用此方法
  • onDestroyView() —— 當fragment中的視圖被移除的時候,調用這個方法。
  • onDetach() —— 當fragment和activity分離的時候,調用這個方法。

建立fragmentblog

ublic class NewListFragment extends Fragment {
    public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle saveInstanceState) {
        View v= inflater.inflate(R.layout.fragment, container, false);
        return v;
        
        
    }

}

加載fragment

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

     

    <TextView 

        android:layout_width="wrap_content" 

        android:layout_height="wrap_content" 

        android:text="This is fragment list" 

        android:textColor="#000000" 
  android:textSize="25sp" />
package net.nowamagic.nm_painting_v1;

 

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

 

public class ListFragment extends Fragment {

 

    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,

            Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        //return super.onCreateView(inflater, container, savedInstanceState);

        return inflater.inflate(R.layout.fragment_list, container, false);

}
     

}
相關文章
相關標籤/搜索