【Android】Fragment真正意义上的onResume和onPause

原博客:
博客园:
http://www.cnblogs.com
农民伯伯: http://over140.cnblogs.com 

前言

Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与Activity相同,和ViewPager搭配使用这个方法就很鸡肋了,根本不是你想要的效果,这里介绍一种方法。

正文

 继承setUserVisibleHint方法:

@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            //相当于Fragment的onResume
        } else {
            //相当于Fragment的onPause
        }
    }

代码说明:

通过阅读ViewPager和PageAdapter相关的代码,切换Fragment实际上就是通过设置setUserVisibleHint和setMenuVisibility来实现的,调用这个方法时并不会释放掉Fragment(即不会执行onDestoryView)。

以上是农民伯伯的博客写得内容

===================================================================================

在实际应用中要特别注意该函数的调用次序

Fragment和ViewPager搭配使用,首先要注意ViewPager的特性,ViewPager在不使用setOffscreenPageLimit(int i),函数时会预加载当前页的下一页,这时候在fragment中使用setUserVisibleHint函数时要特别注意,它是第一个被调用的函数,在onCreate和onCreateView函数调用之前。所以如果在该函数里使用一些未被初始化的变量时就会出问题。所以切记切记,当然你可以自己打印信息测试下。有趣的函数~~~~大笑


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生命周期是指一个 Android Fragment 在其创建、活动状态和销毁过程中所经历的一系列事件和方法调用。 1. Fragment 的生命周期方法有以下几个: - onAttach():当 Fragment 与 Activity 关联时调用。 - onCreate():在 Fragment 创建时调用。 - onCreateView():在创建 Fragment 的视图时调用。 - onViewCreated():在 Fragment 的视图已经创建后调用。 - onActivityCreated():在与 Fragment 相关联的 Activity 的 onCreate() 方法已经完成后调用。 - onStart():在 Fragment 可见时调用。 - onResume():在 Fragment 可交互(获取焦点)并可见时调用。 - onPause():当 Fragment 失去焦点但仍可见时调用。 - onStop():当 Fragment 不再可见时调用。 - onDestroyView():在 Fragment 的视图被销毁时调用。 - onDestroy():在 Fragment 销毁时调用。 - onDetach():当 Fragment 与 Activity 解除关联时调用。 2. Fragment 的生命周期流程如下: - onAttach() -> onCreate() -> onCreateView() -> onViewCreated() -> onActivityCreated() - -> onStart() -> onResume() - -> onPause() -> onStop() -> onDestroyView() -> onDestroy() -> onDetach() 3. 在生命周期方法中,可以执行一些常见的操作: - onCreate():初始化一些数据或资源。 - onCreateView():创建并返回 Fragment 的布局视图。 - onViewCreated():对布局视图进行初始化操作。 - onStart():执行一些开始的任务或动画。 - onResume():注册监听器、开始耗时任务等。 - onPause():取消注册监听器、暂停耗时任务等。 - onStop():保存数据或状态等。 - onDestroyView():释放视图相关的资源。 - onDestroy():释放其他资源。 - onDetach():清理与 Activity 相关的引用。 这些生命周期方法与 Fragment 的状态转换和可见性变化相关,通过重写这些方法,可以在合适的时机执行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值