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