前言
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)。