总结一下,分为两种情况

1.在viewpager中添加的fragment

 //判断是否正在显示    protected boolean isVisible; @Override    public void setUserVisibleHint(boolean isVisibleToUser) {        super.setUserVisibleHint(isVisibleToUser);        if(isVisibleToUser){            isVisible = true;        }else{            isVisible = false;        }    }

重写fragment的setUserVisibleHint方法即可,通过 isVisibleToUser参数来判断是否显示

2.通过Hide or Show 方法设置的fragment

  FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();        if (currentFragment != null) {            transaction.hide(currentFragment);        }        if (!fragment.isAdded()) {            transaction.add(R.id.main_container, fragment);        }        transaction.show(fragment);        transaction.commitAllowingStateLoss();

重写这三个方法,当fragment初始化时候,调用了onAttach方法,之后通过onHiddenChanged方法来判断是否隐藏

    @Override    public void onAttach(Activity activity) {        super.onAttach(activity);        XLog.d(getClass().getName() + " visible onAttach");    }    @Override    public void onDetach() {        super.onDetach();        XLog.d(getClass().getName() + " visible onDetach");    }    @Override    public void onHiddenChanged(boolean hidden) {        XLog.d(getClass().getName() + " visible onHiddenChanged hidden = "+ hidden);        super.onHiddenChanged(hidden);    }
12-18 20:23:44.389 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onAttach12-18 20:23:58.296 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onDetach12-18 20:24:06.513 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onAttach12-18 20:24:08.375 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onHiddenChanged hidden = true12-18 20:24:13.028 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onHiddenChanged hidden = false12-18 20:24:17.594 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onHiddenChanged hidden = true12-18 20:24:19.505 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onHiddenChanged hidden = false12-18 20:24:24.668 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onHiddenChanged hidden = true12-18 20:24:26.132 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onHiddenChanged hidden = false12-18 20:24:27.473 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onHiddenChanged hidden = true12-18 20:24:27.943 24014-24014/com.comic.comicmo D/ComicMeo: │ com.comic.comicmo.online.ui.main.mine.MineFragment visible onHiddenChanged hidden = false

打印的LOG如下所示

更多相关文章

  1. Android屏蔽EditText软键盘的方法
  2. Android获取屏幕尺寸的方法
  3. Android实现完整游戏循环的方法
  4. Android踩坑——mkdir方法中返回false导致新建文件失败
  5. Android启动外部应用的方法
  6. Frame-By-Frame Animations的使用方法
  7. android中获取context的多种方法的区别(this,getbasecontext(),ge
  8. Android中去掉ActionBar的几种方法
  9. 重写对话框dialog

随机推荐

  1. PHP执行耗时脚本实时输出内容
  2. PHP 排序算法原理及总结
  3. PHP生成唯一ID
  4. PHP使用QueryList轻松实现一个百度网盘资
  5. PHP面向对象中new self( )和 new static(
  6. php启动内置服务器
  7. PHP下载远程文件到指定目录
  8. Centos下PHP5升级PHP7
  9. PHP发送邮件:如何自定义reply-to头部以及
  10. mac切换PHP版本并使当前PHP版本生效