在 Android 中,Fragment 的生命周期與 Activity 類似,但它們是嵌套在 Activity 中的。因此,Fragment 的生命周期方法會在 Activity 的生命周期方法之前或之后被調用。以下是一些關鍵的 Fragment 生命周期方法:
onCreate()
: 當 Fragment 被創建時調用。在這個方法中,你可以初始化視圖、數據等。@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 初始化視圖和數據
}
onCreateView()
: 當 Fragment 的視圖被創建時調用。在這個方法中,你可以使用 LayoutInflater 將 XML 布局文件轉換為 View 對象。@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// 使用 LayoutInflater 將 XML 布局文件轉換為 View 對象
return view;
}
onActivityCreated()
: 當 Fragment 的 Activity 完成創建時調用。在這個方法中,你可以訪問 Activity 的上下文和視圖,并執行一些額外的初始化操作。@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// 訪問 Activity 的上下文和視圖,執行額外的初始化操作
}
onStart()
: 當 Fragment 變為可見時調用。在這個方法中,你可以執行一些動畫或者監聽用戶交互。@Override
public void onStart() {
super.onStart();
// 執行動畫或監聽用戶交互
}
onResume()
: 當 Fragment 變為可交互時調用。在這個方法中,你可以執行一些需要用戶交互的操作。@Override
public void onResume() {
super.onResume();
// 執行需要用戶交互的操作
}
onPause()
: 當 Fragment 變為不可交互時調用。在這個方法中,你可以暫停一些動畫或操作。@Override
public void onPause() {
super.onPause();
// 暫停動畫或操作
}
onStop()
: 當 Fragment 不再可見時調用。在這個方法中,你可以釋放一些資源,如關閉數據庫連接或停止定時器。@Override
public void onStop() {
super.onStop();
// 釋放資源
}
onDestroyView()
: 當 Fragment 的視圖被銷毀時調用。在這個方法中,你可以清理一些視圖相關的資源。@Override
public void onDestroyView() {
super.onDestroyView();
// 清理視圖相關的資源
}
onDestroy()
: 當 Fragment 被銷毀時調用。在這個方法中,你可以釋放一些全局資源,如取消網絡請求或釋放大型對象。@Override
public void onDestroy() {
super.onDestroy();
// 釋放全局資源
}
onDetach()
: 當 Fragment 與 Activity 分離時調用。在這個方法中,你可以清理一些與 Activity 相關的資源。@Override
public void onDetach() {
super.onDetach();
// 清理與 Activity 相關的資源
}
要控制 Fragment 的生命周期,你可以在這些方法中添加相應的代碼。請注意,這些方法的調用順序與 Activity 的生命周期方法類似,因此請確保按照正確的順序執行操作。