Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android開發入門(三)碎片簡介 3.2 Fragment的生命周期

Android開發入門(三)碎片簡介 3.2 Fragment的生命周期

編輯:Android開發教程

就像activities一樣,fragments也有它們自己的生命周期。理解fragments的生命周期,可以使你在它們 被銷毀的時候保存它們的實例,這樣在它們重新被創建的時候,就能恢復它們之前的狀態。下面的例子測試 了fragments的不同狀態。

1. 創建一個Fragment的子類:Fragment1.java。

public class Fragment1 extends Fragment {    
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,    
            Bundle savedInstanceState) {    
       
        Log.d("Fragment 1", "onCreateView");    
       
        // ---Inflate the layout for this fragment---    
        return inflater.inflate(R.layout.fragment1, container, false);    
    }    
       
    @Override 
    public void onAttach(Activity activity) {    
        super.onAttach(activity);    
        Log.d("Fragment 1", "onAttach");    
    }    
       
    @Override 
    public void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);    
        Log.d("Fragment 1", "onCreate");    
    }    
       
    @Override 
    public void onActivityCreated(Bundle savedInstanceState) {    
        super.onActivityCreated(savedInstanceState);    
        Log.d("Fragment 1", "onActivityCreated");    
    }    
       
    @Override 
    public void onStart() {    
        super.onStart();    
        Log.d("Fragment 1", "onStart");    
    }    
       
    @Override 
    public void onResume() {    
        super.onResume();    
        Log.d("Fragment 1", "onResume");    
    }    
       
    @Override 
    public void onPause() {    
        super.onPause();    
        Log.d("Fragment 1", "onPause");    
    }    
       
    @Override 
    public void onStop() {    
        super.onStop();    
        Log.d("Fragment 1", "onStop");    
    }    
       
    @Override 
    public void onDestroyView() {    
        super.onDestroyView();    
        Log.d("Fragment 1", "onDestroyView");    
    }    
       
    @Override 
    public void onDestroy() {    
        super.onDestroy();    
        Log.d("Fragment 1", "onDestroy");    
    }    
       
    @Override 
    public void onDetach() {    
        super.onDetach();    
        Log.d("Fragment 1", "onDetach");    
    }    
}

2. 按Ctrl+F11,將模擬器轉換成“橫屏模式”。

3. 按F11調試。

4. 當應用被加載的 時候,LogCat窗口中有如下顯示。

03-27 12:23:32.255: D/Fragment 1(704): onAttach    
03-27 12:23:32.255: D/Fragment 1(704): onCreate    
03-27 12:23:32.255: D/Fragment 1(704): onCreateView    
03-27 12:23:32.274: D/Fragment 1(704): onActivityCreated    
03-27 12:23:32.274: D/Fragment 1(704): onStart    
03-27 12:23:32.286: D/Fragment 1(704): onResume

5. 按Home鍵,LogCat窗口中有如下顯示。

03-27 12:25:23.174: D/Fragment 1(704): onPause    
03-27 12:25:25.174: D/Fragment 1(704): onStop

6.按Home鍵不放,重新進入應用,LogCat窗口 中有如下顯示。

03-27 12:26:21.505: D/Fragment 1(704): onStart    
03-27 12:26:21.505: D/Fragment 1(704): onResume

7. 按返回鍵,LogCat窗口中有如下顯示。

03-27 12:27:54.384: D/Fragment 1(704): onPause    
03-27 12:27:55.324: D/Fragment 1(704): onStop    
03-27 12:27:55.324: D/Fragment 1(704): onDestroyView    
03-27 12:27:55.324: D/Fragment 1(704): onDestroy    
03-27 12:27:55.324: D/Fragment 1(704): onDetach

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved