Fragment雖然有onResume()和onPause()方法,但是這兩個方法是Activity的方法調用時機也與Activity相同,和ViewPager搭配使用這個方法就很雞肋了,根本不是你想要的效果,這里介紹一種方法。
@Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { //相當於Fragment的onResume } else { //相當於Fragment的onPause } }
通過閱讀ViewPager和PageAdapter相關的代碼,切換Fragment實際上就是通過設置setUserVisibleHint和setMenuVisibility來實現的,調用這個方法時並不會釋放掉Fragment(即不會執行onDestoryView)。
