Fargement 用途示意圖
當採用多Panel似的顯示時, 原先 extens Activity 就變成 extends Fragment, 轉換上算是容易, 因為很多特性, 動作模式均相同, 個人已知差異的部分紀錄如下:
Activity | 啟動程序 | Fragment | |
onAttach | 主要是Master Fragment用儲存上層Activity以便可以藉此管道建立與Detail Fragment的通訊 | ||
幾乎什麼都放在這(當然不是好做法) | onCreate | 不能做與UI有關部分,因為此時layout尚未載入, layout載入必須改在 onCreateView()中指定,因此與UI有關的部分 | |
onCreateView |
指定 layout, 替代原 Activity.setContentView. 處理重新建立時需還原的資料, 替代原Activity.onRestoreInstanceState |
||
onActivityCreated |
可用來建立與UI相關的部分,如 Button btn = (Button)getActivity.findViewById(R.id.btn); |
||
onViewStateRestored | API17以後才有,主要處理重建UI的狀態資料, 替代原Activity.onRestoreInstanceState | ||
onStart | |||
處理重新建立時需還原的資料 | onRestoreInstanceState | ||
onResume | |||
停止程序 | |||
onPause | |||
onStop | |||
onDestroyView | |||
onRestart | |||
onDestroy | |||
onDetach | |||
http://developer.android.com/intl/zh-TW/reference/android/app/Activity.html | http://developer.android.com/intl/zh-TW/reference/android/app/Fragment.html | ||
public boolean onCreateOptionsMenu(Menu menu) |
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) |
||