Fragment中的onResume

首先说明,我们想要的那种在Activity中的onResume,并不是Fragment中的onResume,这么解释,不拗口吧。

分两种情况(纯粹的fragment和fragment+viewpager)

一、纯粹的fragment

重写onHiddenChanged方法

@Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (hidden) {
            // 隐藏当前的fragment
        } else {
            // 显示当前的fragment
        }
    }

重点:第一次加载fragment的时候,这个方法是不调用的,所以,你打算放在onHiddenChanged方法中的逻辑,在onCreateView中也要有一份

二、fragment+viewPager组合

重写setUserVisibleHint方法

 @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            // 显示当前的fragment
        } else {
           // 隐藏当前的fragment
        }
    }

重点:以上这两种方法,只适用于transaction.hide这种方式(用transaction控制fragment的显示隐藏),不适用与替代方式(replace)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容