在 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 的生命周期方法类似,因此请确保按照正确的顺序执行操作。