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

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

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

 

posted on 2015-05-07 10:24  道无涯  阅读(6249)  评论(0编辑  收藏  举报