編輯: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
Android 4.4 KitKat:Nexus 4已被ROM開發者率先適配
不得不承認,這是個高效率的時代!從刷機精靈微博了解到,上周五,Google發布了Android4.4的源碼,這不,剛過了一天,Nexus 4機型的4.4 ROM就已經率先
Android GUI系統之SurfaceFlinger(2) Gralloc與Framebuffer
1.1 Gralloc與Framebuffer相信做過Linux開發的人對framebuffer不會太陌生,它是內核系統提供的一個與硬件無關的顯示抽象層。之所以稱之為bu
Android簡明開發教程十四:Context Menu繪制幾何圖形
上下文相關菜單(Context Menu)類同PC上按鼠標右鍵顯示的菜單,在Android平台上是長按來激活Context Menu,Context Menu一般用來顯示
Android測試教程(5):第一個測試項目HelloWorldTest
本例介紹創建一個測試項目的一般步驟和編寫測試用例的基本方法。為簡單起見,創建一個HelloWorld應用,帶有一 個Greeting類,其定義如下:public clas